bonjour,
j'ai créé une table HtmlScrollableDataTable dans la quelle je récupère mes données de type Utilisateur , lorsque je sélectionne une ligne et je clique sur "detail" je suis redirigé vers une page où j'ai les détails d'un utilisateur "nom, poste, mail..." , le problème c'est que lorsque je tri ma table "en nom par exemple" , ma table est bien triée , mais la valeur récupérée reste celle initiale par exemple si j'ai au début
nom user 1
nom user 2
nom user 3
après le tri
nom user 3
nom user 2
nom user 1
lorsque je sélectionne user 3 , je récupère les informations de user 1
voilà le code dans mon bean où j'ai déclaré la méthode qui récupère les données sélectionnées
le code de ma page jsf :
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 private transient HtmlScrollableDataTable utilisateurTable; public String viewDetailUtilisateur() { @SuppressWarnings("unchecked") List<Utilisateur> valueList = (List<Utilisateur>) utilisateurTable .getValue(); Iterator<Object> keys = utilisateurTable.getSelection().getKeys(); if (keys.hasNext()) { currentUtilisateur = valueList.get(((Integer) keys.next()) .intValue()); return "modifierUtilisateur"; } else { return null; } } public HtmlScrollableDataTable getUtilisateurTable() { return utilisateurTable; } public void setUtilisateurTable(HtmlScrollableDataTable utilisateurTable) { this.utilisateurTable = utilisateurTable; }
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 <f:view> <h:form id="mainForm"> <h:panelGrid columns="1"> <rich:scrollableDataTable id="utilisateurTable" binding="#{utilisateurBean.utilisateurTable}" value="#{utilisateurBean.utilisateurList}" var="utilisateur" width="300px" height="280px" > <rich:column id="code" width="60px" sortable="false"> <f:facet name="header"> <h:outputText value="Code" /> </f:facet> <h:outputText value="#{utilisateur.codeutilisateur}"></h:outputText> </rich:column> <rich:column id="nomutilisateur" width="200px"> <f:facet name="header"> <h:outputText value="Nom" /> </f:facet> <h:outputText value="#{utilisateur.nomutilisateur}"></h:outputText> </rich:column> </rich:scrollableDataTable> <h:commandButton value="Modifier" action="#{utilisateurBean.viewDetailUtilisateur}"></h:commandButton> </h:panelGrid> </h:form> </f:view>
Partager