【问题标题】:Primefaces Datatable not correctly rendered after filter applied应用过滤器后 Primefaces 数据表未正确呈现
【发布时间】:2014-03-26 23:19:33
【问题描述】:

我有一个 Primefaces 数据表,位于 accordionPanel
现在,当我向一列添加过滤器时,应用过滤器时数据表不再正确显示。
调试时,我可以看到 org.primefaces.component.datatable.DataTableRenderer 被调用并且它似乎工作正常(添加 tr 元素),但是当我在浏览器中检查 html 时,只有输入和纯文本。
这是过滤前数据表的渲染:

这是选择过滤器值后数据表的渲染:

这里有一些可以重现问题的代码:

<p:accordionPanel multiple="true" id="someId" activeIndex="1">
   <p:tab title="title" id="tabId">
      <p:dataTable var="item" widgetVar="itemTbl" id="itemTbl" value="#{managedBean.items}" 
            filteredValue="#{managedBean.filtered}" style="margin-top:20px;">

          <p:column style="width: 129px !important">
                <f:facet name="header">
                    <h:outputLabel value="Column1"></h:outputLabel>
                </f:facet>
                <h:outputText value="#{item.id}"></h:outputText>
            </p:column>
          <p:column style="width: 101px !important" filterBy="name"
                filterOptions="#{managedBean.itemOptions}"
                        filterMatchMode="exact">
                <f:facet name="header">
                    <h:outputLabel value="Column2"></h:outputLabel>
                </f:facet>
                <h:outputText value="#{item.name}"></h:outputText>
            </p:column>
        </p:dataTable>
  </p:tab>
</p:accordionPanel>

我正在使用 JSF 2.2 (Mojarra) 和 Primefaces 4。

任何帮助都将不胜感激

【问题讨论】:

    标签: jsf primefaces datatable jsf-2.2


    【解决方案1】:

    我终于找到了这种奇怪行为背后的原因: 我的数据表放在p:outputPanel 中,autoupdate 设置为true。 我希望这会有所帮助

    【讨论】:

    • 谢谢,我刚刚将 autoUpdate 更改为 false,我的数据表按预期显示。救了我一些心痛。
    • 我很高兴这有一些帮助,我花了整整一个晚上才弄清楚:-P
    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 2013-10-26
    • 2014-01-04
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 2023-03-20
    • 2016-06-28
    相关资源
    最近更新 更多