我必须使用JSF生成动态表。我有一个包含标题的arraylist和另一个包含用于保存实际数据的字符串列表的列表 - 主列表中的每个条目代表一行。是否可以使用rich:datatable生成动态表?富有:列是一个可以考虑的选项吗?
答案 0 :(得分: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>
答案 1 :(得分:3)
如果您使用的是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>
更多信息here。