Bonjour,
J'ai développé une page où je souhaite modifier une valeur d'une colonne "résultat" en la sélectionnant. En pointant sur la colonne j'entre la nouvelle valeur après lorsque je sors de la colonne, la console effectue une requête update mais sans changement au niveau tableau et au niveau de la base.
Ma page est la suivante :
et ma méthode est :
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 <p:dataTable var="matchs" reflow="true" value="#{matchsCtr.list}" emptyMessage="Aucun matchs n'est disponible dans la base" editable="true" editMode="cell"> <p:growl id="msgssss"></p:growl> <p:ajax event="cellEdit" listener="#{matchsCtr.onCellEdit}" update="msgssss" /> <p:columnGroup type="header"> <p:row> <p:column rowspan="2" headerText="Joueur 1"> </p:column> <p:column rowspan="2" headerText="Joueur 2"> </p:column> <p:column colspan="1" headerText="avant match" /> <p:column rowspan="2" headerText="Résultat"> </p:column> </p:row> </p:columnGroup> <p:column> <h:outputText value="#{matchs.joueursByJoueurun.fullname}" /> </p:column> <p:column> <h:outputText value="#{matchs.joueursByJoueurdeux.fullname}" /> </p:column> <p:column> <h:outputText value="#{matchs.avantmouvement}" /> </p:column> <p:column> <p:cellEditor> <f:facet name="output"><h:outputText value="#{matchs.resultat}" /></f:facet> <f:facet name="input"><p:inputText value="#{matchs.resultat}" style="width:100%"/></f:facet> </p:cellEditor> </p:column> </p:dataTable> </h:form>
Ici les system.out me sortent la l'ancienne valeur de cette colonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void onCellEdit(CellEditEvent event) { DataTable dataTable = (DataTable) event.getSource(); Matchs matchs = (Matchs) dataTable.getRowData(); System.out.println(matchs.getCoteavantbet()); matchsBuss.modifierMatchs(matchs); System.out.println(matchs.getCoteavantbet()); }
Merci
Partager