1

我想rich:extendedDataTable用 RichFaces 4.2 中的静态列和动态列填充

我尝试了以下代码,但它对我不起作用:

            <rich:extendedDataTable id="listDipRec"
                iterationStatusVar="itDipRec" rows="200"
                value="#{declarationReglementaireModel.detailCurrentDecReg.decReg.listLigneDipRecsDTO}"
                var="ligneDipRec" frozenColumns="1"
                style="height:300px; width:800px;" selectionMode="none">

                <rich:column width="35px">
                    <h:panelGrid columns="1" cellpadding="2">
                        <a4j:commandLink render="editGridDipRec" execute="@this"
                            oncomplete="#{rich:component('modifDipRec')}.show()">
                            <span class="icone icone-edit icone-align-center" />
                            <a4j:param value="#{itDipRec.index}"
                                assignTo="#{declarationReglementaireModel.currentLigneDipRecIndex}" />
                            <f:setPropertyActionListener
                                target="#{declarationReglementaireModel.currentLigneDipRec}"
                                value="#{ligneDipRec}" />
                        </a4j:commandLink>

                    </h:panelGrid>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Date ligne fichier Dip" />
                    </f:facet>
                    <h:outputText value="#{ligneDipRec.dtLigneDipRec}">
                        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="Europe/Paris" />
                    </h:outputText>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Référence titre" />
                    </f:facet>
                    <h:outputText value="#{ligneDipRec.rfTitre}">
                    </h:outputText>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Origine titre" />
                    </f:facet>
                    <h:outputText value="#{ligneDipRec.lbOrigineLigne}">
                    </h:outputText>
                </rich:column>

                <c:forEach items="#{ligneDipRec.listDonneeDipRecDTO}" var="column"
                    varStatus="status">
                    <rich:column>
                        <f:facet name="header">
                            <h:outputText value="Valeur rubrique" />
                        </f:facet>
                        <h:outputText value="#{declarationReglementaireModel.getColumnData(ligneDipRec,column).lbValeurRubrique}" />
                    </rich:column>
                </c:forEach>

            </rich:extendedDataTable>
4

1 回答 1

0

<c:forEach>无权访问表的变量(即ligneDipRec),不幸的是您对此无能为力。

好消息是,无论您放入什么,forEach都可以访问这些变量。您唯一需要做的就是将列表的大小保存在 bean 中的某个位置,然后循环遍历它,而不是遍历变量:

<c:forEach var="columnNumber" begin="0" 
  end="{declarationReglementaireModel.detailCurrentDecReg.decReg.listSize - 1}"> 
于 2013-06-12T11:15:29.947 回答