我有一个列性别的数据表。
我想根据性别过滤数据表中的记录。
这是我对该部分的代码。
奇怪的是,我的性别栏将继续显示女性,即使我点击全部和男性按钮。知道为什么吗?
<p:column filterBy="#{staff.gender}" sortBy="#{staff.gender}" headerText="Gender" filterMatchMode="equals">
<f:facet name="filter">
<p:selectOneButton onchange="PF('staffTable').filter()">
<f:converter converterId="javax.faces.Boolean" />
<f:selectItem itemLabel="All" itemValue="" />
<f:selectItem itemLabel="Male" itemValue="true" />
<f:selectItem itemLabel="Female" itemValue="false" />
</p:selectOneButton>
</f:facet>
<h:outputText value="#{staff.gender ? 'Male': 'Female'}" />
</p:column>
答案 0 :(得分:0)
将列filterMatchMode属性值更改为exact将解决问题:
filterMatchMode="exact"
答案 1 :(得分:0)
将filteredValue添加到表组件中,该组件在backingbean中保留过滤值的列表,如下所示:
JSONArray jsonArray = (JSONArray) jsonObject.get(key);
在豆当然是这样的:
<p:dataTable value="#{yourBean.listOfValues}" var="value" filteredValue="#{yourBean.listOfFilteredValues}">