2012-07-01 9 views
5

私はダッシュボードアプリケーションで作業しています。レコードのセットを取得して動的テーブルボックスに表示する必要があります。ページフレームの長さは固定です。今すぐ列と行の初期化することができます。これは、このサンプルのようになります。JSFでテーブル列を動的に作成

enter image description here

現在、私は表示するデータテーブルを使用していますが、それは一つの列内のすべてのデータを出力します。コードを上記のパターンに変更するにはどうすればよいですか?

<o:dataTable id="tabBlSearch" var="item" 
    onkeyup="handleLeftRightArrowOnDataTable('frmDashBoard:tabBlSearch')" 
    value="#{bLDashBoardAction.listBondLoc}"> 
    <o:column style="width: 20px;"> 
    <h:outputText value="#{item.awb}" /> 
    </o:column> 
</o:dataTable> 

答えて

11

あなたは<c:forEach>がビューのビルド時に細胞を生成するために使用されている請求項<h:panelGrid>を使用して、標準JSFコンポーネントでこれを達成することができます。 <ui:repeat>は、ビューのレンダリング時に実行されるようには機能しません。

<h:panelGrid columns="5"> 
    <c:forEach items="#{bean.items}" var="item"> 
     <h:panelGroup> 
      <h:outputText value="#{item.value}" /> 
     </h:panelGroup> 
    </c:forEach> 
</h:panelGrid> 

コンポーネントライブラリには、私はOpenFaces' showcaseで何も表示されませんが、PrimeFacesも、ページネーションのサポートで、まさにこの目的のために<p:dataGrid>を持っています。

<p:dataGrid columns="5" value="#{bean.items}" var="item"> 
    <p:column> 
     <h:outputText value="#{item.value}" /> 
    </p:column> 
</p:dataGrid> 
関連する問題