简体   繁体   English

如何使用rich:dataTable生成包含动态列的表?

[英]How to generate a table with dynamic columns using rich:dataTable?

I have to generate a dynamic table using JSF. 我必须使用JSF生成动态表。 I have a arraylist containing headers and another list containing list of strings for holding the actual data - each entry in the main list representing a row. 我有一个包含标题的arraylist和另一个包含用于保存实际数据的字符串列表的列表 - 主列表中的每个条目代表一行。 Is it possible to generate a dynamic table using rich:datatable? 是否可以使用rich:datatable生成动态表? Is rich:columns an option to be considered? 富有:列是一个可以考虑的选项吗?

This code works - 这段代码有效 -

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

If you are using RichFaces 4, it still does not support "rich:columns", so instead use "c:forEach", like this: 如果你使用的是RichFaces 4,它仍然不支持“rich:columns”,所以改为使用“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>

More information here . 更多信息在这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM