使用rich:列动态生成成对列

时间:2009-11-23 01:22:55

标签: jsf richfaces facelets

是否可以使用RichFaces的rich:columns组件动态生成列的? (版本3.3.0)

理想情况下,我想生成类似于以下内容的内容:

+------+--------------+--------------+---------------
| Name |    1/2/09    |    2/2/09    | 3/2/09 (etc.)
+------+------+-------+------+-------+-----------
| .... | Time | Value | Time | Value |
+------+------+-------+------+-------+-------
| .... | Time | Value | Time | Value |

...也就是说,每列对应一个标题单元格,下面有两列。但是,组合标题并不重要。

我已经查阅了文档,虽然他们建议colspan可以(以某种方式)使用,但他们没有提供任何示例。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

尝试以下方法。请记住,oneElementCollection应该是一个只包含对象DaysData的一行的集合,其中包含List天。

<rich:dataTable value="#{oneElementCollection}" var="daysData">

     <a4j:repeat value="#{daysData.days}" var="day">
         <rich:subtable value="#{day.infos} var="info">
             <f:facet name="header">
                <h:outputText="#{day.display}" />
             </f:facet>
             <rich:column>
                 <f:facet name="header">
                    <h:outputText="time" />
                  </f:facet>
             <h:outputText value="#{info.time}" />
           </rich:column>
             <rich:column>
                 <f:facet name="header">
                    <h:outputText="value" />
                  </f:facet>
             <h:outputText value="#{info.value}" />
           </rich:column>
         </rich:subtable>
     </a4j:repeat>

</rich:dataTable>