-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:repeatandp:dataTable 使用できますが、望ましくない動作をします。すべてのテーブルにまったく同じデータが含まれます。

目的を達成するには、例#{cronogramaBean.cronogramaBB.listaParciales}の aを変更する必要があります。ListList

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 に答える