2017-08-11 1 views
0

Je "enregistre" des objets et je les mets dans un datatable. Un enregistrement a une valeur booléenne 'Ignored', mon idée est de faire un filtre afin qu'il affiche tous les enregistrements ignorés ou tout. Voici mon code:JSF PrimeFaces datatable filtering

<p:column headerText="Status" filterMatchMode="equals" filterBy="#{record.ignored}"> 
    <f:facet name="filter"> 
     <p:selectOneButton onchange="PF('logTable').filter()"> 
     <f:converter converterId="javax.faces.Boolean" /> 
     <f:selectItem itemLabel="All" itemValue="" /> 
     <f:selectItem itemLabel="Ignored" itemValue="#{record.ignored}" /> 
     </p:selectOneButton> 
    </f:facet> 
    <h:outputText value="#{record.status}" /> 
</p:column> 

Pour une raison quelconque, il ne fonctionne pas correctement que je ne pouvais pas trouver, après avoir cherché quelques exemples en ligne.

+0

ce que « ne fonctionne pas correctement " veux dire? –

+0

Il ne montre pas les entrées ignore quand je sélectionne ignoré – tano9321

Répondre

0

La valeur de l'élément pour cet article

<f:selectItem itemLabel="Ignored" itemValue="#{record.ignored}" /> 

doit être soit true ou false puisque c'est la condition qui sera vérifier lors du filtrage des enregistrements

<f:selectItem itemLabel="Ignored" itemValue="true" />