【问题标题】:EL on DataTable Footer not showing数据表页脚上的 EL 未显示
【发布时间】:2013-05-27 18:18:57
【问题描述】:

我正在使用 DataTable,但在页脚中显示来自 EL 的值时遇到了一些问题。我制作了我的xhtml 的简化版本,它仍然会重现错误。

如果我像这样执行p:dataTable,一切正常:

<p:dataTable value="#{myMB.items}" var="item">
    <p:column headerText="Value" footerText="Value">
        <h:outputText value="#{item.value}">
            <f:convertNumber pattern="###,##0.00"/>
        </h:outputText>
    </p:column>
</p:dataTable>

我得到了这个结果:

页脚显示得很好。然后我用EL 试试,像这样改变列定义:

<p:column headerText="Value" footerText="#{3 + 11}">
    <h:outputText value="#{item.value}">
        <f:convertNumber pattern="###,##0.00"/>
    </h:outputText>
</p:column>

它会评估我的表达式,结果是:

它在页脚中显示正确的值14。但是,当我尝试使用模型中的值时,它不会显示。看例子:

代码

<p:column headerText="Value" footerText="#{item.value}">
    <h:outputText value="#{item.value}">
        <f:convertNumber pattern="###,##0.00"/>
    </h:outputText>
</p:column>

输出

我已经尝试以不同的方式来做页脚。一次尝试都没有成功。

有没有正确的方法来做到这一点?在showcase 中它似乎工作得很好。

我正在使用 PrimeFaces 3.3.1

【问题讨论】:

    标签: jsf-2 primefaces datatable


    【解决方案1】:

    问题是缺乏关注。

    我没有意识到一个页脚有多个列值。而且由于 JSF 不能决定单个值,因此它什么也不显示。

    在我发布此消息后不久,答案就来了。我尝试在 ManagedBean 上定义一个值以用作页脚,它工作得很好。

    同样,JSF 和/或 PrimeFaces 没有任何问题,只是我缺乏逻辑思维。

    它适用于展示,因为它显示的子表实际上每个值都有一个页脚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-14
      • 2022-10-21
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多