我正在过滤我的dataTable并希望使用自定义功能对其进行过滤。问题是,我想把两列数据表作为输入。实现filterFunction的默认签名是public boolean filter(Object value, Object filter, Locale locale)
,在value
参数中,它保存"filterBy"
属性传递的内容。什么使它变得更棘手 - 我过滤的字段不是关键 - 它可以具有相同的值。是否可以将多个值传递给"filterBy"
或以某种方式在支持bean中的过滤器函数中获取整个dataTable行?
答案 0 :(得分:2)
我找到了解决问题的方法:传递给"filterBy"
属性的内容是EL(表达式语言),所以我可以像这样编写我的过滤器:
:
... filterBy="#{item.property1};#{item.property2}" ...
并在过滤功能中:
public boolean filter(Object value, Object filter, Locale locale){
...
String[] properties = value.toString().split(";");
...