Primefaces函数clearFilters()不起作用

时间:2014-12-09 12:33:42

标签: jsf primefaces

我有以下代码:

<p:tree value="#{sessBean.root}" var="node" animate="true" id="idTree" selectionMode="single" selection="#{sessBean.selectedNode}" >
        <p:ajax listener="#{reqBean.doBtnSearch}" event="select" onstart="PF('tblDataWidget').clearFilters();" update=":form1:tabView:tblData" />
        <p:treeNode>
            <h:outputText value="#{node.descr}" />
        </p:treeNode>
    </p:tree>

    <p:commandButton value="Add" icon="ui-icon-plus" id="doBtnAdd" action="#{reqBean.doBtnAddEntry}" update="tblData" oncomplete="PF('tblDataWidget').clearFilters();" />

我有一个包含许多条目的dataTable(tblData),在单击树节点时会加载并显示这些条目。到目前为止,没有问题。 Datatable在某些列上有过滤器,也可以正常工作。当我想清除过滤器时(在按钮和树节点上单击),会出现问题。当我单击“添加”按钮(请参阅上面的代码)时,过滤器会按预期清除,但是当我单击树节点时,清除过滤器不起作用。 commandButton和tree组件都包含在tabView容器中。

我做错了什么?

感谢您的建议!

PS:使用PrimeFaces 5.1

1 个答案:

答案 0 :(得分:0)

试一试:

<p:ajax listener="#{reqBean.doBtnSearch}" event="select" onstart="PF('tblDataWidget').clearFilters();" update="#{p:component('tblData')},#{p:component('idTree')}" />