在JSF中动态创建表列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JSF中动态创建表列相关的知识,希望对你有一定的参考价值。

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

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

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

您可以使用<h:panelGrid>通过标准JSF组件实现此目的,其中<c:forEach>用于在视图构建期间生成单元格。 <ui:repeat>将无法在视图渲染时运行。

<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正是为了这个目的而拥有<p:dataGrid>,即使有分页支持。

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

以上是关于在JSF中动态创建表列的主要内容,如果未能解决你的问题,请参考以下文章

如何从 json 创建表列和字段? (动态网格)

JSF2 commandButton 操作未在更新的片段中调用

如何在 JSF 2 中以编程方式或动态创建复合组件

链接中的 URL 片段和 JSF 中的 ajax 重定向

在android中动态创建选项卡并使用传入的参数加载片段

如何创建动态 JSF 表单域