필터링 할 수있는 열이있는 풍부한 데이터 테이블이 있습니다. rich : dataTable이 filterBy 열의 합계를 가져 오는 중
<!-- Data table with filters -->
<h:form>
<rich:dataTable value="#{sessionScope.paymentsBean.payments}" var="payment"
id="table">
<rich:column filterBy="#{sessionScope.payment.invoice}" filterEvent="onkeyup">
<f:facet name="header">Invoice</f:facet>
<h:outputText value="#{sessionScope.payment.invoice}" />
</rich:column>
<rich:column filterBy="#{sessionScope.payment.description}" filterEvent="onkeyup">
<f:facet name="header">Description</f:facet>
<h:outputText value="#{sessionScope.payment.description}" />
</rich:column>
<rich:column filterBy="#{sessionScope.payment.amount}" filterEvent="onkeyup">
<f:facet name="header">Amount</f:facet>
<h:outputText value="#{sessionScope.payment.amount}" />
</rich:column>
</rich:dataTable>
</h:form>
<!-- Total -->
<h:outputText id="total" value="#{sessionScope.paymentsBean.total}" >
<f:convertNumber maxFractionDigits="2" type="currency" currencySymbol="$"/>
</h:outputText>
은 전체를 위해, 나는 총을 얻을 수 sessionScope.paymentsBean.payments 모든 금액을 합산 할 수 있습니다. 다음 예에서 $ 355.00입니다. 총은 $ 150 인 그러나해야하지만 getTotal()가 filterBy 데이터에 대해 알고하지 않습니다
Invoice Description Amount
2 Visa $50.00
3 Visa $100.00
Total: $355.00
: 나는 "비자"를 기준으로 필터링하는 경우처럼
Invoice Description Amount
1 Cash $5.00
2 Visa $50.00
3 Visa $100.00
4 MasterCard $200.00
Total: $355.00
그러나, 테이블 및 총 보일 것이다. rich : datatable의 filterBy 기준에 따라 합계를 동적으로 계산할 수 있습니까?
사용중인 RichFaces 및 JSF 버전을 지정할 수 있습니까? –
물론, 저는 JSF 1.2와 Richfaces 3.3.3 Final을 사용하고 있습니다. 더 큰 프로젝트의 일부이기 때문에이 라이브러리를 업그레이드 할 수는 없지만 JSF 2 또는 Richfaces 4가 지원하는지 여부는 알 수 있습니다. –
JSF 2 PrimeFaces를 사용하면 Datatable이 기본 목록과 필터링 된 목록의 두 목록에 바인드되므로 백엔드 빈에서 항상 사용할 수있는 필터링 된 목록을 가질 수 있으므로 확실히 할 수 있습니다. PF 1.2와 3.3으로 나는 비슷한 것을했을 것이라고 생각합니다. –