【问题标题】:JSF2 Primefaces datatable subtable or ui:repeat tableJSF2 Primefaces 数据表子表或 ui:repeat 表
【发布时间】:2016-05-20 03:30:17
【问题描述】:

我的数据结构是这样的:

ObjectA 包含字符串 varA、varB 和 24 个 ObjectB 的列表。

ObjectB 包含字符串 varC,varD,varE。

我现在有一个 ObjectAs 列表。

我正在尝试使用 Primefaces 数据表来获得这样的输出(在表中)。 (对于每个 ObjectA)

我如何实现这一目标?在下面的屏幕截图中,第一列是行索引,第二列是来自 ObjectA 的 varA,第三列是来自 ObjectA 的 varB。标题为 1 到 24 的列是 24 个 ObjectB 中每个的 ONLY varC 的值。在第二行中,标题为 1 到 24 的列是来自 24 个 ObjectB 中的每一个的 ONLY varD 的值。在第三行中,标题为 1 到 24 的列是来自 24 个 ObjectB 中的每一个的 ONLY varE 的值。 三行完成后,现在我取下一个 objectA2 并重复该过程。我能够使用 c:forEach 标签在 jsp 中执行此操作。但是,我无法使用 JSF 完成这项工作。

我什至尝试在普通 HTML 表格中使用 ui:repeat,但如果 ObjectA ui:repeat 中有两个 ObjectB ui:repeat,则只有一个 ui:repeat 有效,另一个显示空白值。

p>

                    <ui:repeat var="upto" value="#{getClearedTransactionsBean.clearedList}" varStatus="rowCounter">
                        <tr>
                            <td rowspan="3">#{rowCounter.index+1}</td>

                            <td><h:outputText value="#{upto.sink}"/></td>
                            <td>Cleared MW</td>

                            <ui:repeat value="#{upto.hourlyClearedList}" var="hourly">
                                <td><h:outputText value="#{hourly.clearedMW}"/></td>
                            </ui:repeat>

                        </tr>
                        <tr>
                            <td><h:outputText value="#{upto.sourceLocationLabel}"/></td>
                            <td>Source LMP</td>
                            <ui:repeat items="#{upto.hourlyClearedList}" var="hourly">
                                <td><h:outputText value="#{hourly.sourceLMP}"/></td>
                            </ui:repeat>
                        </tr>   
                        <tr>
                            <td></td>
                            <td>Sink LMP</td>
                            <ui:repeat items="#{upto.hourlyClearedList}" var="hourly">
                                <td><h:outputText value="#{hourly.sinkLMP}"/></td>
                            </ui:repeat>
                        </tr>   
                        <tr class="blankrow">
                            <td colspan="27"></td>
                        </tr>
                    </ui:repeat>

                </table>

上面的截图是我在jsp中成功做的。但是,我需要在 JSF 2 中执行此操作。谢谢!

【问题讨论】:

    标签: jsf primefaces datatable html-table jsf-2.2


    【解决方案1】:

    尝试使用动态列。为行准备模型,可以是HashMap中的列数据的对象。

    http://www.primefaces.org/showcase/ui/data/datatable/columns.xhtml

    【讨论】:

      猜你喜欢
      • 2012-06-06
      • 2014-02-10
      • 2012-08-16
      • 1970-01-01
      • 2012-08-17
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      相关资源
      最近更新 更多