【发布时间】:2015-10-01 01:22:06
【问题描述】:
一旦我勾选了数据表顶部的 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>
【问题讨论】:
-
下一次,请尝试阅读精彩/精美的手册。这是有原因的
-
和你的另一篇文章一样,java中的方法按约定以小写开头
-
@Kukeltje 感谢您的建议。实际上,我只是检查展示柜,因为它易于理解并且有示例,但是由于不检查文档而遗漏了很多。
-
是的,不是所有的东西都在展示中,不是很远
-
如果答案真的很有帮助(建议更多地使用文档 ;-))并且投票到位......
标签: ajax jsf checkbox primefaces datatable