problème -> DataTable editable
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:
Code:
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> |
Et voici le code de ma méthode updateUser():
Code:
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());
} |
Le soucis (nous y voila), c'est que quand je tape un nombre dans le inputText
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?