Bonjour, j'ai un t:datatable qui fonctionne correctement. Je souhaiterai avoir un tri par défaut sur une colonne lors du premier affichage de la page.
J'ai tenté d'initialiser les valeur du back bean avec le bon nom de sort colomn, cela n'affiche que la petite flèche sur le header de la colonne mais ne trie pas les données. Lorsque je déclenche le tri en cliquant sur le header tout fonctionne correctement.
Je ne souhaite pas trier les résultats dans la requête EJBQL et éviter au maximum d'utiliser un comparator.
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 <t:dataTable width="100%" renderedIfEmpty="false" rows="4" first="0" id="dtbListeCommunication" sortable="true" headerClass="blocTabEntete" styleClass="blocTableau" rowClasses="blocTabImpair,blocTabPair" sortColumn = "#{familleBackBean.fieldCommunication}" sortAscending="# familleBackBean.ascendingCommunication}"value="#{familleBackBean.selectedCtra.communications}" var="uneCommunication" binding="# familleBackBean.dtbListeCommunications}" > <h:column> <f:facet name="header"> <t:commandSortHeader columnName="id"> <h:outputText styleClass="lienBlanc" value="#{page['familleMain.comId']}" /> </t:commandSortHeader> </f:facet> <h:commandLink action="#{familleBackBean.doSelectionnerCommunication}"> <h:outputText value="#{uneCommunication.id}" /> </h:commandLink> </h:column> <h:column> <f:facet name="header"> <t:commandSortHeader columnName="dateCreation" > <h:outputText value="#{page['familleMain.comDate']}" /> </t:commandSortHeader> </f:facet> <h:outputText value="#{uneCommunication.dateCreation}"> <f:convertDateTime pattern="dd/MM/yyyy" timeZone="Europe/Paris" /> </h:outputText> </h:column>
Back bean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private boolean ascendingCommunication = false; // tri communication private String fieldCommunication = "dateCreation";// tri communication
Partager