2015-04-22 41 views
0

我有n元素在一個數組列表中,我想顯示所有那些在(n/3)X 3格式(通過單次迭代)的表中的相應數量的單選按鈕,數據表中元素的自定義渲染

<table> 
<tbody> 
<tr> 
    <td><input type="radio" name="category1" id="category1" value="1"></td> 
    <td><input type="radio" name="category1" id="category1" value="2"></td> 
    <td><input type="radio" name="category1" id="category1" value="3"></td> 
</tr> 
<tr> 
    <td><input type="radio" name="category1" id="category1" value="4"></td> 
    <td><input type="radio" name="category1" id="category1" value="5"></td> 
    <td><input type="radio" name="category1" id="category1" value="6"></td> 
</tr> 
... 
<tr> 
    <td><input type="radio" name="category1" id="category1" value="n"></td> 
    <td></td> 
    <td></td> 
</tr> 
</tbody> 
</table> 

請幫

回答

3

你可能只需要使用h:panelGridc:forEach

<h:panelGrid columns="3"> 
    <c:forEach items="#{myBean.list}" var="item"> 
     <h:outputText value="#{item}" /> 
    </c:forEach> 
</h:panelGrid> 

將仁德r a <table />

<tbody> 
    <tr> 
     <td>1</td> 
     <td>2</td> 
     <td>3</td> 
    </tr> 
    <tr> 
     <td>4</td> 
     <td>5</td> 
     <td>6</td> 
    </tr> 
    ... 
</tbody> 
+0

應該可以工作,但爲什麼當'ui:repeat'時使用'c:forEach'? –

+0

謝謝大家,我嘗試過但沒有達到我的要求。其實我必須用無線電來代替這些1,2,3 ... n。但如果我是基於c:forEach做到這一點的話,一個單選按鈕本身被分成3列(意味着一行中的1個收音機被3列分隔)。而我需要連續渲染3個單選按鈕(意味着3列) – Krishnan

+3

@tt_dev ui:重複本身是一個組件,而c:foreach是一個標記處理程序。在這種情況下,如果你使用ui:repeat而不是c:foreach,那麼panelgrid只有一個孩子(ui:重複它自己)。因此它會呈現網格第一列中的所有內容。但是,您當然可以使用ui:repeat,但是必須手動創建網格。 – stg