在primefaces数据表列过滤中的通配符搜索?

时间:2016-04-26 23:27:52

标签: jsf primefaces filter datatable

primefaces是否支持数据表列过滤中的通配符搜索?我看过文档,似乎它们只支持这些类型的过滤。

  • startsWith:检查列值是否以过滤器值开头。
  • endsWith:检查列值是否以过滤器值结束。
  • 包含:检查列值是否包含过滤器值。
  • exact:检查列值和过滤器值的字符串表示是否相同。
  • lt:检查列值是否小于过滤值。
  • lte:检查列值是否小于或等于过滤器值。
  • gt:检查列值是否大于过滤器值。
  • gte:检查列值是否大于或等于过滤器值。
  • equals:检查列值是否等于过滤器值。
  • in:检查列值是否在过滤器值的集合中。

如果他们不支持,还有其他方法可以在primefaces数据表列过滤中实现通配符搜索。

1 个答案:

答案 0 :(得分:2)

据我所知,PrimeFaces不支持开箱即用的通配符搜索。但是您可以编写自定义过滤器功能来完成工作。 他们展示的例子:

<p:column (...) filterFunction="#{dtFilterView.filterByPrice}">

然后实现具有以下签名的方法:

public boolean filterByPrice(Object value, Object filter, Locale locale) 

要获取通配符过滤器,您可以将过滤器值转换为正则表达式并将其应用于对象值。

查看: PrimeFaces Showcase