【问题标题】:Create table columns dynamically in JSF在 JSF 中动态创建表列
【发布时间】:2023-03-21 00:53:02
【问题描述】:

我正在开发仪表板应用程序,我必须在其中检索一组记录并显示在动态表格框中。页框长度是固定的。现在可以初始化列和行。它应该看起来像这个示例:

目前我正在使用数据表来显示,但它将所有数据打印在一列中。如何将我的代码更改为上述模式?

<o:dataTable id="tabBlSearch" var="item"
     onkeyup="handleLeftRightArrowOnDataTable('frmDashBoard:tabBlSearch')"
     value="#{bLDashBoardAction.listBondLoc}">
  <o:column style="width: 20px;">
    <h:outputText value="#{item.awb}" />
  </o:column>
</o:dataTable>

【问题讨论】:

    标签: jsf-2 datatable


    【解决方案1】:

    您可以使用&lt;h:panelGrid&gt; 使用标准JSF 组件实现此目的,其中&lt;c:forEach&gt; 用于在视图构建期间生成单元格。 &lt;ui:repeat&gt; 不会在视图渲染期间运行。

    <h:panelGrid columns="5">
        <c:forEach items="#{bean.items}" var="item">
            <h:panelGroup>
                <h:outputText value="#{item.value}" />
            </h:panelGroup>
        </c:forEach>
    </h:panelGrid>
    

    至于组件库,我在 OpenFaces' showcase 中看不到任何内容,但 PrimeFaces 有一个 &lt;p:dataGrid&gt; 用于此目的,即使支持分页。

    <p:dataGrid columns="5" value="#{bean.items}" var="item">
        <p:column>
            <h:outputText value="#{item.value}" />
        </p:column>
    </p:dataGrid>
    

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 2011-03-31
      • 1970-01-01
      • 2017-03-25
      相关资源
      最近更新 更多