IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Modification de Row Edit dans une DataTable


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 110
    Par défaut Modification de Row Edit dans une DataTable
    Salut,

    je développe actuellement un mini site ecommerce je suis bloqué dans la modifcation du rowedit de la categorie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:ajax event="rowEdit" update="listeTable" listener="#{monManagedBean.saveItem}" />
    il prends pas la modification en charge.

    Voilà ma datatable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     <h:form id="form">  
     
     
     
     
                <p:dataTable id="listeTable" value="#{categorieMBean.categories}" var="item" >
     
    	<p:column>
    		<f:facet name="header">Numero Categorie</f:facet>  
                    <h:outputText value="#{item.numeroCategorie}" />                                   
    	</p:column>   
     
    	<p:column>
    		<f:facet name="header">Numero Categorie</f:facet>               
    		<p:cellEditor>
    			<f:facet name="output">
                                <h:outputText value="#{item.numeroCategorie}" />
    			</f:facet>
    			<f:facet name="input">
    				<p:inputText id="gpsInput"
                                                      value="#{item.numeroCategorie}"  />
    			</f:facet>
    		</p:cellEditor>
    	</p:column>    
     
    	<p:column>
     
                <f:facet name="header">Libelle</f:facet>               
    		<p:cellEditor>
    			<f:facet name="output">
                                <h:outputText value="#{item.libelle}" />
    			</f:facet>
    			<f:facet name="input">
    				<p:inputText id="gpsInputt"
                                                 value="#{item.libelle}"  />
    			</f:facet>
    		</p:cellEditor>
     
    	</p:column>   
     
    	<p:column>
    		<f:facet name="header">Edition</f:facet>
    		<p:rowEditor />
    	</p:column>
     
                    <p:ajax event="rowEdit" update="listeTable" listener="#{categorieMBean.update()}" />
     
    </p:dataTable>
    voila ma méthode de modification qui est dans le managedGean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
              public String update() 
            {  
            System.out.println("###UPDATE###");  
            categorie = categorieManager.update(categorie);
     
            return "layoutfull_categorie";  
        }
    Peux tu me dire ce que t'as fais sur saveItem dans la méthode ?

    J'attends votre réponse je suis vraiment bloqué. Merci d'avance.

  2. #2
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    salut,

    en fait ta méthode "update" n'a pas la bonne signature, voilà pourquoi elle ne se déclenche pas ;-)

    voici un exemple ici issu d'un de mes projets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public void saveSection(RowEditEvent event)
        {
            Section updatedSection = (Section) event.getObject();    
            facade.update(updatedSection);        
        }

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 110
    Par défaut Problème de modification de Row Edit dans une DataTable
    salut,

    ca ne marche toujours pas je vous envoie le code que jai fait

    voila la méthode en jpa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
             public Categorie update(Categorie categorie) 
        {
             return em.merge(categorie);
        }


    voila ce que j'ai fait suite au code que vous m'avez envoyé



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        public void saveCategorie(RowEditEvent event)
        {
     
              Categorie categ = (Categorie) event.getObject();   
              categorieManager.update(categ);
            //categorie =  categorieManager.update(categ);
         }

    ma datatable



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
      <h:form id="form">  
     
     
     
     
                <p:dataTable id="listeTable" value="#{categorieMBean.categories}" var="item" >
     
    	<p:column>
    		<f:facet name="header">Numero Categorie</f:facet>  
                    <h:outputText value="#{item.numeroCategorie}" />                                   
    	</p:column>   
     
    	<p:column>
    		<f:facet name="header">Numero Categorie</f:facet>               
    		<p:cellEditor>
    			<f:facet name="output">
                                <h:outputText value="#{item.numeroCategorie}" />
    			</f:facet>
    			<f:facet name="input">
    				<p:inputText id="gpsInput"
                                                      value="#{item.numeroCategorie}"  />
    			</f:facet>
    		</p:cellEditor>
    	</p:column>    
     
    	<p:column>
     
                <f:facet name="header">Libelle</f:facet>               
    		<p:cellEditor>
    			<f:facet name="output">
                                <h:outputText value="#{item.libelle}" />
    			</f:facet>
    			<f:facet name="input">
    				<p:inputText id="gpsInputt"
                                                 value="#{item.libelle}"  />
    			</f:facet>
    		</p:cellEditor>
     
    	</p:column>   
     
     
     
     
    	<p:column>
    		<f:facet name="header">Edition</f:facet>
    		<p:rowEditor />
    	</p:column>
     
     
     
                    <p:ajax event="rowEdit" update="listeTable" listener="#{categorieMBean.saveCategorie(event)}" />
     
    </p:dataTable>


    juste pour info il y a une variable RowEditEvent je dois la passer en argument dans ma datatable


    merci d'avance je suis vraiment bloqué sur ca, ca fais 2 jours

  4. #4
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    tu as mis event en argument (j'imagine à cause de l'autocomplétion de ton IDE) mais il ne faut pas.

    il faut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #{categorieMBean.saveCategorie}
    n'as-tu pas tenter ???

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 110
    Par défaut Problème de modification de Row Edit dans une DataTable
    Salut,

    ca marche toujours pas je travaille avec netbeans

    j'ai cherché un peu sur ne let j'ai trouvé ca mais ca marche toujours pas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    public void saveCategorie(RowEditEvent event)
        {
     
     
     
     
          JOptionPane.showMessageDialog(null, "je suis la   ");
     
     
            DataTable o =  (DataTable) event.getSource();
     
             Categorie myInfo = (Categorie) o.getRowData();
     
     
             JOptionPane.showMessageDialog(null, "avant modifcation     " +myInfo.getNumeroCategorie());
            JOptionPane.showMessageDialog(null, "avant modifcation     " +myInfo.getLibelle());
     
         categorie=   categorieManager.update(myInfo);
     
     
        return "layoutfull_categorie";  
     
     
        }
    il me donne la ligne sélectionnée mais ne la modifie pas

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 110
    Par défaut
    le code source de la datatable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
     
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
           xmlns:h="http://java.sun.com/jsf/html"
           xmlns:ui="http://java.sun.com/jsf/facelets"
           xmlns:f="http://java.sun.com/jsf/core"
           xmlns:p="http://primefaces.prime.com.tr/ui" >
        <h:head>
            <title>Ecommerce</title>
        </h:head>
        <h:body>
     
            <h:form id="form">  
     
     
     
                 <p:growl id="messages" showDetail="true"/>
      <p:dataTable id="listeTable" value="#{categorieMBean.categories}" var="item"    rowKey="#{item.numeroCategorie}"  >
     
    	<p:column>
    		<f:facet name="header">Numero Categorie</f:facet>               
    		<p:cellEditor>
    			<f:facet name="output">
                                <h:outputText value="#{item.numeroCategorie}" />
    			</f:facet>
    			<f:facet name="input">
    				<p:inputText id="gpsInput"
                                                      value="#{item.numeroCategorie}"  />
    			</f:facet>
    		</p:cellEditor>
    	</p:column>    
     
    	<p:column>
     
                <f:facet name="header">Libelle</f:facet>               
    		<p:cellEditor>
    			<f:facet name="output">
                                <h:outputText value="#{item.libelle}" />
    			</f:facet>
    			<f:facet name="input">
    				<p:inputText id="gpsInputt"
                                                 value="#{item.libelle}"  />
    			</f:facet>
    		</p:cellEditor>
     
    	</p:column>   
     
     
     
     
    	<p:column>
    		<f:facet name="header">Edition</f:facet>
     
    		<p:rowEditor />
     
     
    	</p:column>   
     
     
     
          <p:ajax event="rowEdit" update="listeTable" listener="#{categorieMBean.saveCategorie}"/>
     
     
    </p:dataTable>
     
            </h:form>  
     
        </h:body>
    </html>
    la méthode qui est dans le managedBean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
        public void saveCategorie(RowEditEvent event)
        {
     
           Categorie categ = (Categorie) event.getObject();   
           //   categorieManager.update(categ);
     
         categorie=      categorieManager.update(categ);
    }
    pourquoi ça se modifie pas ? J'ai tant cherché j'ai pas trouvé.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PrimeFaces] Editer dans une DataTable
    Par shagun dans le forum JSF
    Réponses: 7
    Dernier message: 20/09/2012, 19h43
  2. Réponses: 3
    Dernier message: 19/07/2006, 14h28
  3. [MFC]Champ d'edition dans une Toolbar?
    Par kacedda dans le forum MFC
    Réponses: 3
    Dernier message: 08/07/2005, 11h11
  4. [C#] Modifier une valeur dans une DataTable
    Par Scorff dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/05/2005, 10h45
  5. Modif d'un ini dans une combo box
    Par Julien.alkaza dans le forum C++Builder
    Réponses: 5
    Dernier message: 03/04/2005, 23h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo