在primefaces数据表中过滤布尔值

时间:2016-04-17 15:04:29

标签: jsf primefaces filter datatable boolean

我在Web应用程序中有一个Primefaces数据表。一列包含一个布尔值(表示为selectBooleanCheckbox)。现在我想用此列过滤表格。当我添加filterByfilterMatchMode属性时,会显示过滤标题,但我必须使用truefalse进行过滤。

这是该列的定义:

<p:column headerText="A Bool" sortBy="someBool" width="20"
    filterBy="someBool" filterMatchMode="exact">
   <h:selectBooleanCheckbox value="#{row.someBool}" disabled="true" />
</p:column>

带复选框的列显示正确。只有标题显示为文本字段。

我正在使用Primefaces 4.如何在标题中选中一个复选框来过滤数据?

1 个答案:

答案 0 :(得分:0)

来自Primefaces 4.0 User Guider,第141页:

  

如果您想使用下拉列表而不是输入字段来仅允许   预定义过滤器值使用 filterOptions 属性和选择项的集合/数组作为值

这样您就可以通过在列表中选择true或false来进行过滤。但是你想在标题上有一个复选框,你可以尝试这个(也可以从用户指南,第142页):

<f:facet name="header">
    <p:outputPanel>
        <h:outputText value="Search all fields:" />
        <h:inputText id="globalFilter" onkeyup="PF('carsTable').filter()" />
    </p:outputPanel>
</facet>

我希望这可以帮助你朝着正确的方向前进。