2014-03-26 66 views
0

我有一個Primefaces數據表,它位於accordionPanel
現在,當我向一列添加濾鏡時,應用濾鏡時datatable不再正確顯示correclty。
調試時,我可以看到org.primefaces.component.datatable.DataTableRenderer被調用,它似乎正常工作(添加tr元素),但是當我檢查HTML在瀏覽器中,只有輸入和純文本。
這裏是DataTable的過濾前的渲染:Primefaces Datatable在應用濾鏡後未正確呈現

Datatable before hitting the filter

,這裏是DataTable的選擇過濾器值之後,渲染:

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(鑽嘴魚科)和Primefaces 4.

任何幫助將超過讚賞

回答

2

我終於找到了這背後的怪異行爲的原因: 我的數據表放在一個p:outputPanel內側autoupdate集到true。 我希望這將是一些幫助

+0

,謝謝,我只是改變了自動更新設置爲false,如預期顯示我的數據表。救了我一些心痛。 – notsodev

+0

我很高興,這是有一定的幫助,我花了一整個晚上弄明白:-P –