Créer des colonnes de tableaux de manière dynamique dans JSF

je travaille sur une application de tableau de bord où je dois récupérer un ensemble d'enregistrements et d'affichage dans des boîtes de tableaux dynamiques. La longueur de la page est fixe. maintenant des colonnes et des lignes peuvent être initialisées. Il devrait ressembler à cet échantillon:

enter image description here

actuellement j'utilise la table de données pour afficher mais il imprime toutes les données dans une colonne. Comment puis-je changer mon code ci-dessus?

<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>
5
demandé sur Brian Tompsett - 汤莱恩 2012-07-01 12:50:47

1 réponses

vous pouvez réaliser cela avec les composants JSF standard en utilisant un <h:panelGrid><c:forEach> est utilisé pour générer les cellules pendant le temps de construction de la vue. Le <ui:repeat> ne fonctionnera pas comme cela fonctionne pendant le temps de rendu de la vue.

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

quant aux bibliothèques de composants, Je ne vois rien dans openfaces' showcase , mais PrimeFaces a un <p:dataGrid> pour exactement ce but, même avec le support de pagination.

<p:dataGrid columns="5" value="#{bean.items}" var="item">
    <p:column>
        <h:outputText value="#{item.value}" />
    </p:column>
</p:dataGrid>
11
répondu BalusC 2012-07-01 11:37:23