【问题标题】:Masking numbers in PrimeFaces footerText column DatatablePrimeFaces footerText 列数据表中的屏蔽数字
【发布时间】:2013-11-16 13:37:55
【问题描述】:

我想显示一个这样的蒙面数字:1.234.567,89。 以下代码已经这样做了:

<p:column>
    <h:outputText value="#{item.value}">
      <f:convertNumber locale="pt_BR"/>
    </h:outputText>
</p:column>

如何在 footerText 列中为 Primefaces 数据表应用与以下代码摘录相同的掩码?

<p:columnGroup type="footer">  
  <p:row>  
    <p:column colspan="8" footerText="Grand Total:" />  
    <p:column footerText="#{upbController.totalLosses}" />      
  </p:row>  
</p:columnGroup>

提前致谢。

【问题讨论】:

    标签: jsf primefaces number-formatting


    【解决方案1】:

    如果你可以使用Omnifaces,那么你可以这样做

    <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>
    

    【讨论】:

      【解决方案2】:

      您可以尝试使用 f:facet 放置您的 footerText。以下是我过去在 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>
      

      我怀疑它也适用于 p:columnGroup,然后您可以将 f:convertNumber 应用于此类 h:outputText

      更新

      以下是标题类型中标题方面的工作原理:

      <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>
      

      对于页脚类型中的页脚方面:

      <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> 
      

      【讨论】:

      • 我按照描述使用,但没有效果:
      • 我用对我有用的例子扩展了我的答案。您是否检查了在没有指定所需模式的情况下应用语言环境会改变输出文本的孤立案例?
      【解决方案3】:

      您可以通过使用 ui 参数并在其中使用转换器来做到这一点。之后在 p:column footerText 获得该值

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-15
        • 2015-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-26
        相关资源
        最近更新 更多