Bonjour,

J'ai besoin de présenter des données de façon hiérarchique, sur 3 niveaux:

-Un modèle (par ex : Clio)
-des serie pour ce modele (baccara par ex)
-Et enfin une liste de prix pour cette serie (ex : prix A : xxx€ ;prix Bxx€ ...etc)

Donc pour l'instant, je suis parti sur la présentation suivante :
-Un datagrid, ou les modèles sont présentés dans leur panel, avec une image, un texte descriptif etc
-Dans le panel du modèle, tout en bas, un treeview qui liste les différentes séries.

Jusque la tout va bien.
Maintenant pour les tarifs.
J'ai envie d'afficher un dataTable pour ces tarifs, qui serait un enfant de la série mère.

pour imaginer la chose, voici ce vers quoi j'aimerais aller :


et actuellement j'en suis la :



J'etais parti sur la solution suivante:
Le bean de Vue modèle a un getter qui renvoie un arbre , composé de bean de vue series.
Le bean de vue serie, a un getter qui renvoie une liste de beans de vue tarifs, c'est avec cette liste que je construit le datatable des tarifs.
Le bout de code concerné coté vue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
	<rich:tree value="#{modele.treeSeries}" var="serie"
						switchType="client" id="treeSerie">
 
						<rich:treeNode id="itemTreeSerie">
 
							<h:outputText value="#{serie}" converter="serieConverter" />
 
							<rich:dataTable value="#{serie.listeTarifs}" var="tarif"
								width="200" rows="10" id="tableTarifs">
 
								<rich:column label="libelle">
									<f:facet name="header">libelle</f:facet>
									<h:outputText value="#{tarif.libelle}" />
								</rich:column>
 
								<rich:column label="prix">
									<f:facet name="header">prix</f:facet>
									<h:outputText value="#{tarif.valeur}" />
								</rich:column>
							</rich:dataTable>
						</rich:treeNode>
 
					</rich:tree>
Mes problèmes sont les suivants:

-j'ai envie d'afficher le noeud root des series, afin de ne pas surcharger le panel du modèle si l'utilisateur ne veut pas afficher les séries.
Mais étant donné que les datatable sont construites pour chaque noeud de l'arbre, le noeud root en affiche un aussi.

-Actuellement les dataTable de tarifs sont affichés à la suite du noeud de serie, et non pas en tant qu'enfant.
La je vois mal comment faire, à moins de construire le dataTable et de l'ajouter au noeud directement dans la méthode qui crée le tree des séries. Et encore je me demande si c'est faisable d'ajouter des dataTable comme node.

Si quelqu'un peut m'orienter vers une solution , merci

au passage, il est possible via EL de ne pas afficher un datatable si la liste est vide?