【问题标题】:How to generate a table with dynamic columns using rich:dataTable?如何使用rich:dataTable 生成具有动态列的表?
【发布时间】:2011-12-05 19:46:55
【问题描述】:

我必须使用 JSF 生成一个动态表。我有一个包含标题的数组列表和另一个包含用于保存实际数据的字符串列表的列表 - 主列表中的每个条目代表一行。是否可以使用rich:datatable 生成动态表? rich:columns 是一个可以考虑的选项吗?

【问题讨论】:

  • 我怎样才能关闭这个 - 这样就没有其他人在这上面浪费时间了。
  • 发布答案并将其标记为已接受。

标签: jsf richfaces dynamic-forms


【解决方案1】:

此代码有效 -

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

【讨论】:

    【解决方案2】:

    如果您使用的是 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

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2019-01-30
      • 2011-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      相关资源
      最近更新 更多