0

I would like to show different items of a list in my dataTable

I tried ui:repeat but it's seems not working

I have an object Demande(Classe demande) it has a list of Choix and I want to show for all demandes the choice and the periode(Classe Periode) of each choice(classe Choix)

                <p:dataTable id="estivage" var="it" emptyMessage="Aucune demande !"
                    value="#{demandeController.allDemandes}" paginator="false" style="width: 800px"
                    rows="10"
                    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks}  {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                    rowsPerPageTemplate="5,10,15">

                    <f:facet name="header">  
        Liste des Demandes pour la periode d'éstivage
                </f:facet>

                    <p:column style="text-align:center" sortBy="#{it.utilisateur.nom}">
                        <f:facet name="header">

                            <h:outputText value="Adherent" />
                        </f:facet>

                        <h:outputText value="#{it.utilisateur.nom}" />
                        <h:outputText value=" " />
                        <h:outputText value="#{it.utilisateur.prenom}" />
                    </p:column>

                    <p:column style="text-align:center" sortBy="#{it.dateDemande}">
                        <f:facet name="header">
                            <h:outputText value="Date de la demande" />
                        </f:facet>

                        <h:outputText value="#{it.dateDemande}">
                            <f:convertDateTime pattern="dd/MM/yyyy 'à' HH:mm:ss" />
                        </h:outputText>
                    </p:column>
                     <ui:repeat var="item" value="#{it.listChoix}">
                    <p:column style="text-align:center">
                        <f:facet name="header">
                            <h:outputText value="chalet " />
                        </f:facet>

                        <h:outputText value="#{item.chaletChoisi}" />
                    </p:column>
                    <p:column style="text-align:center">
                        <f:facet name="header">
                            <h:outputText value="periode " />
                        </f:facet>

                        <h:outputText value="#{item.periode.libelle}" />
                    </p:column>
                    </ui:repeat>
                    <p:column style="text-align:center">
                        <f:facet name="header">
                            <h:outputText value="Mode paiement"    />
                        </f:facet>

                        <h:outputText value="#{it.modePaiement}">
                        </h:outputText>
                    </p:column>
                </p:dataTable>

any help please

4

1 回答 1

0

<p:column>在你的ui:repeat. 效果不好。你可以试试 Primefaces 的 SubTable。请参阅 Primefaces Showcase 中的示例:http: //www.primefaces.org/showcase/ui/datatableSubTable.jsf

您可以在子表中显示每个需求的 Choix 列表。

另一种可能性是如果您使用嵌套的数据表。使用p:column“estivage”表并在该列内定义另一个显示 Choix 列表的数据表。

<p:dataTable id="estivage" var="it">

  <p:column header="choice and periode">
     <p:dataTable var="item" value="#{it.listChoix}">
        <p:column style="text-align:center">
                    <f:facet name="header">

                        <h:outputText value="chalet " />
                    </f:facet>

                    <h:outputText value="#{item.chaletChoisi}" />
                </p:column>
                <p:column style="text-align:center">
                    <f:facet name="header">

                        <h:outputText value="periode " />
                    </f:facet>

                    <h:outputText value="#{item.periode.libelle}" />
                </p:column>
     </p:dataTable>
  </p:column>
</p:dataTable>
于 2013-10-29T21:55:25.587 回答