一旦我勾选了dataTable顶部的 SelectAll 复选框,我需要你的帮助来从支持bean调用方法。我可以调用方法 ShowTotal 一旦我勾选或取消勾选每个项目的复选框,但是当我从顶部勾选 SelectAll 复选框时,不会调用任何监听器。这是我的代码:
<p:dataTable id="PendingRequests" var="hr" selection="#{hrdirector.selectedRequests}"
value="#{hrdirector.listPendingRequests}" rowKey="#{hr.requestNo}"
filteredValue="#{hrdirector.filteredRequests}" widgetVar="dataTableWidgetVar">
<p:ajax event="rowSelectCheckbox" listener="#{hrdirector.ShowTotal}" process="@this"
update=":form:PendingRequests:sum"/>
<p:ajax event="rowUnselectCheckbox" listener="#{hrdirector.ShowTotal}" process="@this"
update=":form:PendingRequests:sum"/>
<p:column selectionMode="multiple" style="width:16px;text-align:center"></p:column>
<p:column headerText="Request No.">
<h:outputText value="#{hr.requestNo}"/>
</p:column>
<p:column headerText="Request Amount">
<h:outputText value="#{hr.requestAmount}"/>
</p:column>
</p:dataTable>
<h:outputText id="Sum" value="#{hr.Sum}"/>
我尝试在其选择的列中添加以下代码,但它给了我一个错误:
<p:column selectionMode="multiple" style="width:16px;text-align:center">
<p:ajax listener="#{hrdirector.ShowTotal}" />
</p:column>
答案 0 :(得分:2)
精彩的PrimeFaces文档的第172页为您提供了答案。你需要的是所谓的toggleSelect事件。