PrimeFaces 5.1 filterFunction - 可以从表中获取整行吗?

时间:2015-05-13 12:45:13

标签: java primefaces datatable

我正在过滤我的dataTable并希望使用自定义功能对其进行过滤。问题是,我想把两列数据表作为输入。实现filterFunction的默认签名是public boolean filter(Object value, Object filter, Locale locale),在value参数中,它保存"filterBy"属性传递的内容。什么使它变得更棘手 - 我过滤的字段不是关键 - 它可以具有相同的值。是否可以将多个值传递给"filterBy"或以某种方式在支持bean中的过滤器函数中获取整个dataTable行?

1 个答案:

答案 0 :(得分:2)

我找到了解决问题的方法:传递给"filterBy"属性的内容是EL(表达式语言),所以我可以像这样编写我的过滤器:

xhtml中的

... filterBy="#{item.property1};#{item.property2}" ...

并在过滤功能中:

public boolean filter(Object value, Object filter, Locale locale){
...
String[] properties = value.toString().split(";");
...