Reputation: 317
I have the following code.
<p:column headerText="Bank">
<f:facet name="header">
<p:selectOneMenu id="bank" value="#{reportsExecHistManagedBean.bankList}">
<f:selectItem itemLabel="Select Bank" itemValue="" />
<f:selectItems value="#{reportsExecHistManagedBean.bankList}"/>
</p:selectOneMenu>
</f:facet>
<h:outputText value="#{tr.bank}" />
</p:column>
how to enable filtering here, e.i when user select any selectItem, datatable shows filtered values. Also i have lazyLoading in my table. I do not want to following code
<p:column headerText="Bank" filterBy="#{tr.bank}" style="text-align:left; width:10px;" filterOptions="#{reportsExecHistManagedBean.bankList}" filterMatchMode="exact">
<h:outputText value="#{tr.bank}"/>
</p:column>
Upvotes: 2
Views: 16505
Reputation: 12373
Filter is a very powerful feature available in primefaces datatable, you can use a filter as the example shown
For a column filter it goes like this
<p:column id="modelColumn" filterBy="#{car.model}"
headerText="Model" footerText="contains"
filterMatchMode="contains">
filterMatchMode can have values :- "startsWith"(default), "endsWith", "contains" and "exact"
You can know more about datafilters from the official website as under http://www.primefaces.org/showcase/ui/datatableFiltering.jsf
Upvotes: 5