[英]Auto-updating filter values on DataTable
我目前在懒加载的DataTables上使用带有选项列表的过滤器。 一切正常,只是我希望能够根据当前选择的过滤器重新加载过滤器选项。
例如,我的DataTable有两个字段country和region,我想过滤
DataTable代码段:
<p:dataTable var="d" widgetVar="personneContactTable" value="#{bean.dataModel}" id="myDataTable" lazy="true">
<p:column sortBy="country" filterBy="country" filterOptions="#{bean.getCountryOptions()}">
[...]
</p:column>
<p:column sortBy="region" filterBy="region" filterOptions="#{bean.getRegionOptions()}">
[...]
</p:column>
</p:dataTable>
还有我的豆子:
@ManagedBean(name = "bean")
@SessionScoped
public class MyBean implements Serializable {
LazyDataModel<MyStuff> dataModel;
String country;
String region;
public SelectItem[] getCountryOptions() {
return service.someMagic();
}
public SelectItem[] getRegionOptions() {
return service.someMoreMagic(country);
}
// + getters, setters, etc.
}
我尝试使用属性而不是方法,添加了<p:ajax event="filter">
标记以尝试重新加载DataTable的一部分,但没有任何效果。 我也找到了http://forum.primefaces.org/viewtopic.php?f=3&t=38087 ,但同样出现了不可行的解决方案。
如何自动刷新我的filterOptions? (这使用的是Primefaces 4 ELITE分支)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.