J'essaie d'utiliser l'attribut filterMethod sur une rich:column d'un tableau afin que l'utilisateur puisse saisir un intervalle de date et que la colonne soit filtrée selon l'intervalle saisi.
J'ai regardé l'external filtering, ok pour le principe, j'arrive à appeler la méthode java etc tout est ok, cependant, j'ai un souci de rendu, j'ai l'impression qu'on ne peut pas mettre plus d'un champ input dans l'en-tête de la colonne.
Voici le code de mon tableau, au niveau du rendu de la 2ème colonne, il n'affiche que le dernier élément (ici le bouton "Filtrer" mais j'ai essayé en changeant l'ordre) :
Des idé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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <h:form> <rich:dataTable value="#{dossierForm.dossiers}" var="theDossier" id="tableDossierFiltering"> <f:facet name="header"> <rich:columnGroup> <rich:column colspan="2"> <h:outputText value="Filtering Example" /> </rich:column> <rich:column breakBefore="true"> <h:outputText value="Réference" /> </rich:column> <rich:column> <h:outputText value="Date" /> </rich:column> </rich:columnGroup> </f:facet> <rich:column filterMethod="#{dossierForm['filterReference']}"> <f:facet name="header"> <h:inputText value="#{dossierForm.filterValue}" id="input"> <a4j:support event="onkeyup" reRender="tableDossierFiltering" ignoreDupResponses="true" requestDelay="700" /> </h:inputText> </f:facet> <h:outputText value="#{theDossier.reference}" /> </rich:column> <rich:column filterMethod="#{dossierForm['filterDate']}"> <f:facet name="header"> <rich:calendar id="dateDu-calendar-proto" value="#{dossierForm.dateInf}" datePattern="dd/MM/yyyy" showWeeksBar="false" showFooter="false" enableManualInput="true" converterMessage="Format de date incorrect" /> <rich:calendar id="dateAu-calendar-proto" value="#{dossierForm.dateSup}" datePattern="dd/MM/yyyy" showWeeksBar="false" showFooter="false" enableManualInput="true" converterMessage="Format de date incorrect" /> <a4j:commandButton value="Filtrer" /> </f:facet> <h:outputText value="#{theDossier.date}" > <f:convertDateTime dateStyle="short" timeZone="Europe/Paris"/> </h:outputText> </rich:column> </rich:dataTable> </h:form>
Merci !
Partager