我有以下代码:
<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
答案 0 :(得分:0)
试一试:
<p:ajax listener="#{reqBean.doBtnSearch}" event="select" onstart="PF('tblDataWidget').clearFilters();" update="#{p:component('tblData')},#{p:component('idTree')}" />