使用 p:treetable selectionMode="checkbox",我试图在标题上有一个复选框,以便选择它会选择树表所有行中的所有复选框。我调用 p:ajax 侦听器方法 processSelectAllRows 的所有尝试都失败了。我能够使用 p:datatable 完成这项工作,并且需要使用 p:treetable 来实现相同的功能。任何帮助将不胜感激。
下面是代码:
<h:form id="searchFormId">
<p:panel id="searchPanelId">
<p:outputPanel id="ResultsPanelId">
<p:treeTable id="resultsTreeTableId" value="#{aBean.resultsRoot}"
scrollRows="20" scrollable="true" var="aNode"
selectionMode="checkbox" selection="#{aBean.selectedResultNodes}">
<p:ajax event="select" listener="#{aBean.onNodeSelect}"
update="resultsTreeTableId" />
<p:ajax event="unselect" listener="#{aBean.onNodeUnselect}"
update="resultsTreeTableId" />
<p:column>
<f:facet name="header">
<p:selectBooleanCheckbox id="allChkb" name="allChkb"
value="#{aBean.selectAll}">
<p:ajax listener="#{aBean.processSelectAllRows}"
process="@this" update="resultsTreeTableId" />
</p:selectBooleanCheckbox>
</f:facet>
<h:outputText value="#{aNode.name}" />
</p:column>
</p:treeTable>
</p:outputPanel>
</p:panel>
</h:form>
这是监听器方法
public void processSelectAllRows(AjaxBehaviorEvent event) {
System.out.println("Select all rows.");}
环境:1)Primefaces 3.5(不能很快升级)2)myfaces-bundle 2.1.15 3)Tomcat 服务器 4)Java 1.7