应用过滤器后,Primefaces数据表未正确呈现

时间:2014-03-26 23:19:34

标签: jsf primefaces datatable jsf-2.2

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

Datatable before hitting the filter

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

Rendering after hitting the filter

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

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

任何帮助都将超过赞赏

1 个答案:

答案 0 :(得分:2)

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