2011-02-09 55 views
0

我通過ui:repeat顯示的多個p:datatable,下面的代碼片段說明我在做什麼:UI:重複+ P:數據表中的問題

<ui:repeat id="searchTables" 
    value="#{searchBean.mapKeys}" 
    var="mapKeys"> 
     <p:dataTable id="recordTable" 
      value="#{searchBean.resultMap[mapKeys].resultList}" 
      var="recordTable" 
      paginator="true" 
      rows="10"> 
       <f:facet name="header"> 
         <h:outputText value="#{searchBean.resultMap[mapKeys].name}"/> 
       </f:facet> 
        <p:columns value="#{searchBean.resultMap[mapKeys].resultColumns}" 
           var="column" 
           columnIndexVar="colIndex"> 
         <f:facet name="header"> 
          <p:outputPanel> 
           #{column.header} 
          </p:outputPanel> 
         </f:facet> 
         <h:outputText value="#{recordTable[column.property]}"/><br/> 
        </p:columns> 
     </p:dataTable> 
</ui:repeat> 

我需要每一個人的數據表有它自己的分頁程序,但是當我的頁面只顯示第一個數據表獲取paginator和這個paginator控制所有其他顯示的數據表頁面。

感謝您的關注!

回答

3

我發現的唯一方法是使用兩個p:datatable標籤,父標籤只有一列。我無法使它與p:dataList一起工作。我猜p:dataList擴展了相同的假類。

應與這方面的工作:

<p:datatable id="searchTables" 
    value="#{searchBean.mapKeys}" 
    var="mapKeys"> 
    <p:column> 
     <p:dataTable id="recordTable" 
      value="#{searchBean.resultMap[mapKeys].resultList}" 
      var="recordTable" 
      paginator="true" 
      rows="10"> 
       <f:facet name="header"> 
         <h:outputText value="#{searchBean.resultMap[mapKeys].name}"/> 
       </f:facet> 
        <p:columns value="#{searchBean.resultMap[mapKeys].resultColumns}" 
           var="column" 
           columnIndexVar="colIndex"> 
         <f:facet name="header"> 
          <p:outputPanel> 
           #{column.header} 
          </p:outputPanel> 
         </f:facet> 
         <h:outputText value="#{recordTable[column.property]}"/><br/> 
        </p:columns> 
     </p:dataTable> 
    </p:column>  
</p:dataTable> 
3

這可能與JSF issue 1830有關。

最好的辦法是由另一箇中繼器做它的UINamingContainer工作做得更好,例如<p:dataList>甚至另一個<p:dataTable>更換ui:repeat。列表項目符號<p:dataList>可以通過CSS list-style-type: none刪除。

如果這也不起作用,那麼它可能是PrimeFaces <p:dataTable>本身的錯誤。

+0

謝謝您的回答,無論是提出的解決方案的合作,我想它的錯誤與``自身:( – camiloqp 2011-02-09 18:09:41

+0

我不知道爲什麼``心不是工作要麼。 – camiloqp 2011-02-09 20:33:52