1
我通过ListDataModel接收JSF页面中的数据。
我需要总和列的所有值。
沿用了JSF代码:PrimeFaces中的Sum Column Datatable
<p:dataTable id="table" value="#{ProductBean.listProduct}" var="item" style="font-size:"12px" > <p:column > <f:facet name="header"> <h:outputText value="NAME" /> </f:facet > <h:outputText value="#{item[0].name}" /> </p:column > <p:column > <f:facet name="header"> <h:outputText value="VALUE BUY" /> </f:facet > <h:outputText value="#{item[1].valuebuy}" /> </p:column > <p:column > <f:facet name="header"> <h:outputText value="VALUE SELL" /> </f:facet > <h:outputText value="#{item[2].valuesell}" /> </p:column > <p:columnGroup type="footer"> <p:row> <p:column footerText="Total" /> <p:column footerText="TotalBuy" /> <<<<--------- Sum All Values of item[1].valuebuy and show here <p:column footerText="TotalSell" /> <<<<--------- Sum All Values of item[2].valuesell and show here </p:row> </p:columnGroup> </p:dataTable >
而不是使用假的getter方法,最好将总和保存在托管bean的字段中。 –
@LuiggiMendoza正确,但是如果OP'修改'产品的值,他需要在setter方法中更新适当的总和,以便它始终保持一致。由于它在表面层面不可见,这种方法基本上是“动态安全”的。 – skuntsel
您每次修改列表时都可以调用该方法计算总和:)。 –