Salut. J'utlise un p collector dans un p dialogue pour récupérer des données dans un p datatable. mais il se trouve qu'a partir de la deuxième insertion il n'ajoute pas une nouvelle ligne dans le p datatable mais remplace la première insertion. J'utilise primefaces 5.0.
voici une partie de la vue
le managedbean
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 <h:form id="commanderform"> <p:growl id="msgs" /> <h:panelGroup id="display" > <p:fieldset legend="INFORMATIONS SUR LES PRODUITS COMMANDES" > <h:panelGrid columns="8"> outputLabel value="#{bundle.CreateCommanderLabel_prixUniteCom}" for="prixUniteCom" /> <p:inputText id="prixUniteCom" value="#{viewCommander.commander.prixUniteCom}" title="#{bundle.CreateCommanderTitle_prixUniteCom}" required="true" requiredMessage="#{bundle.CreateCommanderRequiredMessage_prixUniteCom}"/> <p:outputLabel value="#{bundle.CreateCommanderLabel_qteCom}" for="qteCom" /> <p:inputText id="qteCom" value="#{viewCommander.commander.qteCom}" title="#{bundle.CreateCommanderTitle_qteCom}" required="true" requiredMessage="#{bundle.CreateCommanderRequiredMessage_qteCom}"/> <p:outputLabel value="#{bundle.CreateCommanderLabel_produit}" for="produit" /> <p:selectOneMenu id="produit" value="#{viewCommander.commander.produit}" required="true" requiredMessage="#{bundle.EditCommanderRequiredMessage_produit}"> <f:selectItems value="#{produitController.produit}" var="produitItem" itemValue="#{produitItem}"/> </p:selectOneMenu> <p:commandButton id="btn_reset" value="Reset" type="reset"/> <p:commandButton id="createButton" icon="ui-icon-plus" ajax="true" update="dataliste msgs @parent" value="ajouter" > <p:collector value="#{viewCommander.commander}" addTo="#{viewCommander.commanders}" unique="false" /> </p:commandButton> </h:panelGrid> </p:fieldset> </h:panelGroup>
le hash code et le equals qui se trouvent dans la classe
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 /* @ManagedBean @RequestScoped public class viewCommander { public viewCommander() { } private List<Commander> commanders = new ArrayList<>(); private Commander commander = new Commander(); public List<Commander> getCommanders() { return commanders; } public void setCommanders(List<Commander> commanders) { this.commanders = commanders; } public Commander getCommander() { return commander; } public void setCommander(Commander commander) { this.commander = commander; } }
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 public int hashCode() { int hash = 0; hash += (commanderPK != null ? commanderPK.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Commander)) { return false; } Commander other = (Commander) object; if ((this.commanderPK == null && other.commanderPK != null) || (this.commanderPK != null && !this.commanderPK.equals(other.commanderPK))) { return false; } return true; }
Partager