Bonjour,
j'ai un petit souci:
Je voudrai faire une table comme celle-ci
http://livedemo.exadel.com/richfaces...del&cid=776833
Mis a part que le nombre entré dans le inputText dois s'ajouter au nombre déjà existant.
J'ai fais ma table:
Et voici le code de ma méthode updateUser():
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 <rich:dataTable onRowMouseOver="this.style.backgroundColor='#F1F1F1'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'" cellpadding="0" cellspacing="0" width="400" border="0" value="#{usersDataTableBean.users}" var="user"> <rich:column> <f:facet name="header"> <h:outputText styleClass="headerText" value="Temps restant" /> </f:facet> <h:outputText id="timeOutput" value="#{user.usersDatas.remainTime}" /> <f:facet name="footer"> <h:outputText id="totalTimeOutput" value="#{usersDataTableBean.totalTime}" /> </f:facet> </rich:column> <rich:column> <f:facet name="header"> <h:outputText styleClass="headerText" value="Gestion du temps" /> </f:facet> <h:inputText id="timeInput" value="#{usersDataTableBean.handleTime}" label="Time" /> <a4j:commandLink id="timeLink" action="#{usersDataTableBean.updateUser}" value="modifier" reRender="timeOutput, totalTimeOutput" /> </rich:column> </rich:dataTable>
Le soucis (nous y voila), c'est que quand je tape un nombre dans le inputText
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void updateUser(){ Users tmp = (Users)users.getRowData(); tmp.getUsersDatas().setRemainTime(tmp.getUsersDatas() .getRemainTime() +handleTime); usersDao.updateUser(tmp); users.setWrappedData(usersDao.getAllUsers()); }
JSF fait un setHandleTime() pour chaque ligne ce qui fait que dans la méthode updateUser(), la valeur handleTime est égale a la valeur contenu dans le inputText de la dernière ligne du tableau.
Qu'est je fais de mal?
Partager