5

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

ここに画像の説明を入力してください

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

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

1 に答える 1

11

これは、ビューのビルド時にセルを生成するために使用されるを使用し<h:panelGrid>て、標準のJSFコンポーネントで実現できます。<c:forEach>ビューの<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のショーケースには何も表示されませんが、PrimeFacesには、<p:dataGrid>ページ付けがサポートされている場合でも、まさにこの目的のためのものがあります。

<p:dataGrid columns="5" value="#{bean.items}" var="item">
    <p:column>
        <h:outputText value="#{item.value}" />
    </p:column>
</p:dataGrid>
于 2012-07-01T11:37:23.343 に答える