J'ai cherché sur internet mais je n'ai pas trouvé quels sont les différents objets qu'on peut attribuer au composant TREE ? et merci.
J'ai cherché sur internet mais je n'ai pas trouvé quels sont les différents objets qu'on peut attribuer au composant TREE ? et merci.
tu peux préciser quel librairie JSF.
Articles: Richfaces - JBosstools pour JSF.
il y a une différence?
moi j'utilise richfaces et woodstock
ouii bien sur, chaque librairie a ses propres composants, mes composants standards sont les composants html et core.
pour le Tree de Richfaces l'interfcae utilisé est org.richfaces.model.TreeNode, tu peux l''implémenter ou utiliser un listener.
la démo de Richfaces donne un exemple pour chaque utilisation.
Articles: Richfaces - JBosstools pour JSF.
je ne parle pas du binding je veut savoir si on peut utiliser par exemple une liste comme dans les tableaux et quelle est sa structure?
j'ai vu la démo mais il n'y a pas le code java afin de mieux comprendre son utilisation
Ce n'est pas le binding, c'est le type d'objet de la liste, regarde les exemples de la démo.
le ocmposant prend en value un objet de type org.richfaces.model.TreeNode.
pour initialiser l'objet tu peux soit utiliser le listener, soit utiliser un objet qui implémente l'interface et redéfinir des méthodes.
Articles: Richfaces - JBosstools pour JSF.
il y a aussi aussi un exemple ici : tree-component
ce que je veut c de construire un tree dynamique selon l'utilisateur de l'application ,son fonctionnement est la navigation entre les pages JSF![]()
le code dans ma page jsf est:
Le code JAVA :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <a4j:form> <rich:tree value="#{ExTree.tree}" var="item"> <rich:treeNode> <h:outputText value="item.code"/> </rich:treeNode> </rich:tree> </a4j:form>
j'ai l'erreur suivante !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 import org.richfaces.model.TreeNodeImpl; import java.util.List; TreeNodeImpl articletree = new TreeNodeImpl(); articletree.addChild(new Article("PENTIUM 4", 100 , 145), articletree); articletree.addChild(new Article("PENTIUM 5", 300 , 155), articletree); public List gettree() { List<Article> lart =(List<Article>) articletree; return lart; }
je ne sais pas comment je vais faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Exception Details: java.lang.ClassCastException org.richfaces.model.TreeNodeImpl cannot be cast to java.util.List
es c que qlq'1 a une idé???
value ne prend pas une liste mais un object de type TreeNode.
- il faut ajouter nodeSelectListener, un exemple de code est dans la démo il me semble.
- dans le getter de treeNode tu remplis la tree, tu ajoute les fils lorsque elle est vide.
Articles: Richfaces - JBosstools pour JSF.
j'ai essayé d'ajouter des liens :
j'ai uune classe MItems qui a pour attribut :
Integer id;
String libelle ;
String target;
code JSF :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 TreeNode rootNode = new TreeNodeImpl() ; for (int i = 0; i < listmenu.size(); i++) { TreeNodeImpl nodeImpl = new TreeNodeImpl(); nodeImpl.setData(listmenu.get(i).getLibelle()); rootNode.addChild(listmenu.get(i).getId(), nodeImpl); }
mais le résultat c que les liens ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <a4j:form> <rich:tree rendered="true" var="item" value="#{ExTree.treeNode}" switchType="client" > <rich:treeNode type="node"> <h:outputLink value="#{item.target}"> <h:outputText value="#{item.target}" /> </h:outputLink> </rich:treeNode> </rich:tree> </a4j:form>
je n'ai pas trouvé le bon chemin pour construire un tree composé des liens
tu veux dire quoi par le lien ne marche pas??
le Tree s'affiche comme il faut et le lien ne marche pas ?? ou il n'est pas généré ?
Articles: Richfaces - JBosstools pour JSF.
je veut dire qu'il n'est pas généré
comme si ce bloc n'existe pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <rich:treeNode type="node"> <h:outputLink value="#{item.target}"> <h:outputText value="#{item.target}" /> </h:outputLink> </rich:treeNode>
Essaye qq chose comme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <rich:tree style="width:300px" nodeSelectListener="#{bean.processSelection}" switchType="client" value="#{bean.treeNode}" var="item" > </rich:tree>
Articles: Richfaces - JBosstools pour JSF.
LeTree s'affiche bien
le problème c que le processSelection ne s'exécute pas même avec un simple System.out.println
Remarque: si j'enlève le blocca ne change rien L'etat du tree est la même
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <rich:treeNode type="leaf"> <h:outputLink value="retretr"> <h:outputText value="#{item}"></h:outputText> </h:outputLink> </rich:treeNode>
je précise que je veut que les feuilles du tree me raméneront à d'autre page JSF et merci encore
utilise ajaxSubmitSelection="true".
ou ajoute
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a4j:support event="onselected" />
Articles: Richfaces - JBosstools pour JSF.
Merci encore Sniper37 ,
avec l'option ajaxSubmitSelection="true" la méthode processSelection(NodeSelectedEvent event) est exécuté
maintenant il reste à trouvé la méthode pour passer l'attribut String target vers h:outputLink pour aller à d'autres pages JSF ??
je pense à partir de la méthode processSelection on peut identifier l'élément sélectionné puis d'ouvrir la nouvelle page à l'aide de la navigation JSF (ça c pour ouvrir une nouvelle page JSF )
si non si je veut ouvrir une nouvelle fenêtre du navigateur comment je vais atribuer l'@ de la nouvelle fenêtre à l'élement sélectionné
déja la classe que j'ai crée MItems contient les deux éléments :
String libelle ;
String target;
![]()
c'est l'equivalent de nodeTitle dans la démo, ajoute le avec getter/setter et dans le processSelection tu lui donne la valeur de getRowData().
dans la page tu peux tester :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <h:outputText value="Selected Node: #{bean.nodeTitle}" id="selectedNode" />
Articles: Richfaces - JBosstools pour JSF.
Partager