primefaces clearFilters函数清除过滤器但不启动过滤器事件

时间:2012-12-13 08:32:46

标签: datatable primefaces lazy-loading

我在<p:dataTable>中使用延迟加载并尝试使用窗口小部件清除过滤器:PrimeFaces.widget.DataTable.clearFilters()
虽然此函数会清除所有过滤器,但过滤器事件不会启动。因此Map<String, String>过滤器值保持不变,并且数据表不会更新。

public List<LazyModelInterface> load(int startingAt, 
       int maxPerPage, 
       String sortField, 
       SortOrder sortOrder, 
       Map<String, 
       String> filters)

1 个答案:

答案 0 :(得分:0)

如何使用一些f:ajax(例如h:commandButton)与侦听器指向将执行以下代码的方法

public void resetFilters(AjaxBehaviorEvent ev) {
    DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
            .findComponent("myFormId:myTableId");
    if (dataTable != null) {
        dataTable.reset();
    }
}