primefaces:datatable:自定义过滤器:"包含"而不是"开始"

时间:2015-09-25 16:21:33

标签: primefaces filter

默认情况下,通过查找列以在搜索区域中输入的字符串开头的行来过滤数据表的行。 如何过滤 包含 列(不是以字母开头)在搜索区域中输入的字符串的DataTable行?

2 个答案:

答案 0 :(得分:4)

您可以使用dataTable的filterMatchMode上的p:column属性执行此操作。在PrimeFaces showcase上可以找到一个很好的例子。

因此,如果我们采用上面提到的例子,你可能会有类似这样的事情:

<p:dataTable var="car" value="#{dtFilterView.cars}" widgetVar="carsTable"
    filteredValue="#{dtFilterView.filteredCars}">

    <p:column filterBy="#{car.id}" headerText="Id" footerText="contains"
        filterMatchMode="contains">

        <h:outputText value="#{car.id}" />
    </p:column>
</p:dataTable>

属性filterMatchMode接受诸如contains,endsWith,startsWith,exact ......之类的值。

答案 1 :(得分:0)

我们必须使用此视频中的“filterMatchMode”属性:

https://www.youtube.com/watch?v=0no0zdK2cqk