2013-06-12 157 views
1

我想填充靜態列和動態列在RichFaces的4.2豐富:extendedDataTable與動態列

我嘗試下面的代碼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> 

回答

0

<c:forEach>沒有按無法訪問表格的變量(例如ligneDipRec),不幸的是你無法對此做任何事情。

好消息是,無論你放在forEach裏面都可以訪問這些變量。你唯一需要做的就是將列表的大小保存在bean的某個地方,然後遍歷它,而不是遍及變量:

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

非常感謝你:) – Netmaster