I want to display a masked number like this: 1.234.567,89. The following code already do this:
<p:column>
<h:outputText value="#{item.value}">
<f:convertNumber locale="pt_BR"/>
</h:outputText>
</p:column>
How can I applly the same mask for a Primefaces datatable in a footerText column as the following code excerpt?
<p:columnGroup type="footer">
<p:row>
<p:column colspan="8" footerText="Grand Total:" />
<p:column footerText="#{upbController.totalLosses}" />
</p:row>
</p:columnGroup>
Thanks in advance.
You can try to place your footerText using f:facet. Here is how I used to use it for p:column:
<p:column headerText="Number of units" >
<h:outputText value="#{item.units}" />
<f:facet name="footer">
<h:outputText
value="Total: #{mybean.unitsTotal}" />
<br />
<h:outputText
value="To do: #{mybean.unitsTodo}" />
</f:facet>
</p:column>
I suspect that it would work also for p:columnGroup and then you can apply f:convertNumber to such h:outputText.
Update
And here's how works for header facet in header type:
<p:columnGroup type="header">
<p:row>
<p:column rowspan="2" headerText="Manufacturer" />
<p:column colspan="2">
<f:facet name="header">
<h:outputText value="#{bean.countValue(bean.order)}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" currencyCode="PLN" locale="pl_PL" />
</h:outputText>
</f:facet>
</p:column>
</p:row>
</p:columnGroup>
and for footer facet in footer type:
<p:columnGroup rendered="true" type="footer">
<p:row>
<p:column rowspan="2" headerText="Manufacturer" />
<p:column colspan="2">
<f:facet name="footer">
<h:outputText value="#{bean.countPieces(bean.order)}">
<f:convertNumber pattern="###,###.00" locale="pl_PL"/>
</h:outputText>
</f:facet>
</p:column>
</p:row>
</p:columnGroup>
You can do thay by using ui param and use converter in it. After that getting that value at p:column footerText
If you can use Omnifaces then you can do
<p:columnGroup type="footer">
<p:row>
<p:column colspan="3" footerText="Total:" />
<p:column footerText="#{of:formatNumber(bean.total.jan, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.feb, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.mar, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.apr, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.may, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.jun, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.jul, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.aug, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.sep, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.oct, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.nov, '#.00')}" />
<p:column footerText="#{of:formatNumber(bean.total.dec, '#.00')}" />
</p:row>
</p:columnGroup>
来源:https://stackoverflow.com/questions/19793072/masking-numbers-in-primefaces-footertext-column-datatable