Bonjour,
J'utilise JSF + Facelets + RichFaces. J'affiche un tableau de type rich:column avec tri + filtre. Ceci fonctionne très bien.
Mon problème vient du fonctionnement du filtre.
Voici le code du tableau :
Et ci-dessous le code du composant datatable.column :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <rich:dataTable value="#{UsersManager.users}" var="user" reRender="footer"> <d:datatable.header entity="#{user}" fieldName="Liste des utilisateurs" backingBean="#{UsersManager}" /> <d:datatable.column entity="#{user}" fieldName="prenom" backingBean="#{UsersManager}" /> <d:datatable.column entity="#{user}" fieldName="nom" backingBean="#{UsersManager}" /> <d:datatable.footer /> </rich:dataTable>
Ce composant est fait pour pouvoir être appelé de façon générique.
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 <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"> <rich:column sortBy="#{entity[fieldName]}" filterBy="#{entity[fieldName]}" filterEvent="onkeyup"> <f:facet name="header"> <h:outputText value="#{fieldName}"/> </f:facet> <h:outputText value="#{entity[fieldName]}"/> </rich:column> </ui:composition>
Je l'appel donc 2 fois succèssive : pour la colonne "prenom" puis pour la colonne "nom".
--> Le problème est que le filtre de chaque colonne filtre sur la dernière colonne créée, à savoir le nom.
Plus précisement, le filtre de la colonne nom filtre sur nom. Le filtre de la colonne prenom filtre également sur nom...
Si vous avez une idée...
Merci !
Partager