我有一个位于accordionPanel
内的Primefaces数据表
现在,当我向一个列添加过滤器时,在应用过滤器时,数据表不再正确显示
在调试时,我可以看到调用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.
任何帮助都将超过赞赏
答案 0 :(得分:2)
我终于找到了这种奇怪行为背后的原因:
我的数据表放在p:outputPanel
内,autoupdate
设置为true
。
我希望这会有所帮助