-3

我需要一些帮助,因为我需要在我的页面中创建动态表,为此我使用 ui:repeat 标记。这是我在 jsf 文件中的代码:

<ui:define name="contenido">
    <p:fieldset legend="Cronograma">
        <ui:repeat value="#{cronogramaBean.cronogramaBB.listaParciales}" var="parciales">
            <br/>
            <p:dataTable id="tablaPacial"
                         value="#{**here I want to use the same item in the list that I use in the Ui:repeat**}"
                         var="parcial"
                         emptyMessage="No existen registros"
                         rows="10"
                         rowIndexVar="rowIndex"
                         sortBy="#{parcial.ordinal}"  sortOrder="ascending"
                         style="overflow: auto">
                <f:facet name="header">  
                    <p:outputLabel value="#{parcial.ciclo.nombre}"/>
                </f:facet>
                <p:column headerText="Nº"
                          style="text-align: center; width: 20px">
                    <h:outputText value="#{rowIndex+1}"/>
                </p:column>
                <p:column headerText="Nombre"
                          style="width: 100px">
                    <h:outputText value="#{parcial.nombre}"/>
                </p:column>
            </p:dataTable>
        </ui:repeat>
    </p:fieldset>
</ui:define>

ui:repat 标记需要在值中包含一个列表和一个 var 来迭代列表,在 ui:repeat 内我想创建具有相同列表的表。这可能吗?我怎么能这样做?

4

1 回答 1

0

要回答您的问题,是的,您可以使用相同value的方法ui:repeatp:dataTable 它会执行您不想要的行为。所有表都将具有完全相同的数据。

为了实现你想要的,你需要改变#{cronogramaBean.cronogramaBB.listaParciales}一个List例子List

public List<List<Partial>> getListaParciales()
{

}

并像这样修改您的视图:

<ui:define name="contenido">
    <ui:repeat value="#{cronogramaBean.cronogramaBB.listaParciales}" var="parciales">
        <p:fieldset legend="Cronograma">
            <p:dataTable id="tablaPacial"
                    value="#{parciales}"
                    var="parcial"
                    emptyMessage="No existen registros"
                    rows="10"
                    rowIndexVar="rowIndex"
                    sortBy="#{parcial.ordinal}"  sortOrder="ascending"
                    style="overflow: auto">
                <f:facet name="header">
                    <p:outputLabel value="#{parcial.ciclo.nombre}"/>
                </f:facet>
                <p:column headerText="Nº"
                        style="text-align: center; width: 20px">
                    <h:outputText value="#{rowIndex+1}"/>
                </p:column>
                <p:column headerText="Nombre"
                        style="width: 100px">
                    <h:outputText value="#{parcial.nombre}"/>
                </p:column>
            </p:dataTable>
        </p:fieldset>
    </ui:repeat>
</ui:define>
于 2013-06-24T20:56:39.333 回答