2013-04-29 49 views
0

我有一個循環,其中包含屬性列表 我想在2列顯示此列表,但我不能。 它們由無序顯示,反對,如果我使用C:對於UI的每個地方:重複 問題得到解決ui:重複和c:foreach不返回相同的組織

<p:panel id="panlecart2" header ="Caracteristique selon la categorie" toggleable="true" rendered="true" style="width=900px;">    
      <h:panelGrid id="panlecart" columns="2" cellpadding="5" rendered="true" style="width=900px;">       
      <ui:repeat var="var1" value="#{composantbean.categorie.proprietes.toArray()}">    
      <h:outputText value="#{var1.nomProp }(#{var1.unite} )" /> 
      <h:inputText value="" /> 

      </ui:repeat>    
     </h:panelGrid> 
      </p:panel> 

唧唧我可以定勢的問題.helpe請:)

回答

1

你可以切換到使用<h:dataTable>遍歷組件:

<h:dataTable var="var1" value="#{composantbean.categorie.proprietes.toArray()}"> 
    <h:column> 
     <h:outputText value="#{var1.nomProp }(#{var1.unite} )" /> 
    </h:column> 
    <h:column> 
     <h:inputText value="" /> 
    </h:column> 
</h:dataTable> 

將其包含在<p:panel>內,使其工作。否則,請使用<c:forEach>,因爲它非常適合您的用例。

+0

正如我所說的。c:foreach不支持ajax的問題​​ – FERESSS 2013-04-29 13:34:19

+0

Thx現在很好用h:dataTable。想你的合作 – FERESSS 2013-04-29 13:37:12

+0

不客氣。 – skuntsel 2013-04-29 13:45:33

1

ui:repeat呈現在後面的階段比c:forEach。這是一個explanation

c:forEach是這裏的方法,因爲這是在視圖編譯時調用的。

ui:repeat在查看渲染時間期間被調用,所以p:panel將不知道由ui:repeat創建的數據。

+0

我必須使用ui:repeat,因爲我必須在此面板中使用ajax顯示一些動態內容!有沒有什麼解決方案 – FERESSS 2013-04-29 13:06:44

+1

「動態內容」是什麼意思,你能告訴我們一個例子嗎?你提供的例子可以用'c:forEach'完美地工作。 – Aquillo 2013-04-29 13:10:23

+0

好的,我正在使用selectoneMenu顯示選擇項目的詳細信息 – FERESSS 2013-04-29 13:15:02

相關問題