Как создать таблицу с динамическими столбцами, используя rich:dataTable?

Мне нужно создать динамическую таблицу с помощью JSF. У меня есть массив, содержащий заголовки, и другой список, содержащий список строк для хранения фактических данных - каждая запись в основном списке представляет строку. Можно ли создать динамическую таблицу, используя rich: datatable? Можно ли рассмотреть вариант rich:columns?


person Punter Vicky    schedule 05.12.2011    source источник
comment
Как мне закрыть это - чтобы больше никто не тратил на это свое время.   -  person Punter Vicky    schedule 06.12.2011
comment
Опубликуйте ответ и отметьте его принятым.   -  person BalusC    schedule 06.12.2011


Ответы (2)


Этот код работает -

<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>
person Punter Vicky    schedule 06.12.2011

Если вы используете 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>

Дополнительная информация здесь.

person Thiago    schedule 02.08.2013