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

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;
	}
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
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>