【发布时间】:2015-12-27 04:38:30
【问题描述】:
在更新outputText 时,我需要您的帮助,其中包含数据表中选定复选框的总金额字段。 jsf有以下代码:
<p:dataTable id="PendingRequests" var="hr" selection="#{hrdirector.selectedRequests}"
value="#{hrdirector.listPendingRequests}" rowKey="#{hr.requestNo}"
filteredValue="#{hrdirector.filteredRequests}" widgetVar="dataTableWidgetVar">
<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}"/>
用户将选择多个复选框,我需要知道通过 ajax 调用方法的适当方式,以使用所选的 Total Requests Amounts 更新 outputText。
要调用的方法是:
public void ShowTotal() {
try {
String [] tranAmountArr = new String[selectedRequests.size()];
for (int i = 0; i < selectedRequests.size(); i++) {
tranAmountArr[i] = selectedRequests.get(i).getEncashmentAmount();
Sum = Sum + Double.parseDouble(tranAmountArr[i]);
}
System.out.println(Sum);
} catch (Exception e) {
System.err.print(e);
e.printStackTrace();
log.error("Error in ShowTotal()");
}
}
【问题讨论】:
-
如果您只需要输出总和,@BalusC 是一个非常优雅的解决方案。如果您以后想要进行任何验证或其他操作,则必须添加服务器端侦听器。
标签: ajax jsf jsf-2 primefaces