2011-12-05 64 views
2

我必須使用JSF生成一個動態表。我有一個包含標題的arraylist和另一個列表,其中包含用於保存實際數據的字符串列表 - 主列表中的每個條目表示一行。是否有可能使用rich:datatable生成動態表?豐富:列是一個可以考慮的選項?如何使用rich:dataTable生成具有動態列的表?

+0

如何關閉此功能 - 以免別人浪費時間。 –

+0

發表答案並將其標記爲已接受。 – BalusC

回答

6

此代碼的工作 -

<rich:dataTable 
     value="#{dataBean.getAttributeDetail().getAttributeRows()}" 
     var="dataValues" width="100%" border="1"> 
    <rich:columns 
      value="#{dataBean.getAttributeDetail().getAttributeHeaders()}" 
      var="columns" index="ind" id="column#{ind}"> 
     <f:facet name="header"> 
      <h:outputText value="#{columns}" /> 
     </f:facet> 
     <h:outputText value="#{warningValues[ind]} " /> 
    </rich:columns> 
</rich:dataTable> 
3

如果您使用RichFaces的4,它仍然不支持 「富:列」,所以改用 「C:的forEach」,像這樣:

<rich:dataTable value="#{teamHandler.mitarbeiter}" var="m"> 
    <rich:column> 
     <f:facet name="header">Mitarbeiter</f:facet> 
     <h:outputText value="#{m.name}" /> 
    </rich:column> 
    <c:forEach items="#{datumsHandler.span}" var="d"> 
     <rich:column> 
     <f:facet name="header"> 
      <h:outputText value="d" /> 
     </f:facet> 
     <h:outputText value="-" /> 
     </rich:column> 
    </c:forEach> 
</rich:dataTable> 

更多信息here