rich:具有动态列的extendedDataTable

时间:2013-06-12 10:21:05

标签: jsf richfaces

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

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

            <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>

1 个答案:

答案 0 :(得分:0)

<c:forEach>无法访问表格的变量(例如ligneDipRec),遗憾的是您无法对其进行任何操作。

好消息是,你放在forEach内的任何内容都可以访问这些变量。你唯一需要做的就是在bean中的某个地方保存列表的大小然后循环它,而不是在变量上面:

<c:forEach var="columnNumber" begin="0" 
  end="{declarationReglementaireModel.detailCurrentDecReg.decReg.listSize - 1}">