Primefaces dataTable avec rowspan
Je suis assez nouveau avec la JSF primefaces 3.1.
J'essaie de construire un "complexe" de la table et je ne peux pas trouver une bonne solution à l'aide de dataTable (j'ai besoin d'un tri composant).
Je voudrais construire un tableau équivalent à celui-ci de la représentation HTML, à l'aide d'une base POJO comme ça:
String field1
String field2
List<String> fields3 //3 items
String field4
<table border="1">
<tr>
<td rowspan="3">col1</td>
<td rowspan="3">col2</td>
<td>col3.1</td>
<td rowspan="3">col4</td>
</tr>
<tr>
<td>col3.2</td>
</tr>
<tr>
<td>col3.3</td>
</tr>
</table>
Je donne peut-être trop peu d'informations, si vous en avez besoin, s'il vous plaît dites-moi 🙂
J'espère que ma question est claire.
Merci
source d'informationauteur Jean-François Houzard
Vous devez vous connecter pour publier un commentaire.
Une solide comme le roc et de tous les flexibles solution personnalisée grilles est d'utiliser <c:forEach> avec Primefaces <p:panelGrid>:
Il a l'air sympa, Commande les Boutons et AJAX fonctionne à la fois la Tête et les Cellules.
puisque vous avez mentionné
primefaces
dans vos tags.Je vous recommande d'utiliser p:panelGrid
J'ai eu le même problème : primefaces (ou richfaces) offre rowspan uniquement pour les en-tête et pied de page.
Puis j'ai essayé d'utiliser le icefaces
ace:datatable
composant et géré par l'ajout d'un seul attribut dans la colonne(s) que vous voulez être "rowspanable" :ace:column
:groupBy="#{bean.field}"
.Vous donner comme d'habitude une liste de lignes et de ce composant génère tous les rowspan automatiquement (je pense par auto-détection de voisinage d'égal à égal valeurs) dans le code html généré table.
Il fonctionne tout à fait avec primefaces composants : à ce moment, j'ai primefaces outputlabel dans le icefaces datatable cellules ant cette icefaces datatable est à l'intérieur d'un primefaces panneau.
J'aurais un coup d'oeil à la RichFaces dataTable. Je l'ai trouvé à être plus souple que la PrimeFaces table pour des mises en page complexes.
Vous pouvez utiliser
donc, si votre ligne de données ressemble à ceci:
Le la table, se montrer
Il est important que si vous avez des boutons/liens etc dans l'un des rowspan les colonnes que vous ajoutez un rendu="#{rowKey eq 0}" il y!