繁体   English   中英

在DataTable上自动更新过滤器值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM