Bonjour,
J'utilise un recursiveTreeNodesAdaptor pour afficher un arbre.
Je souhaite personnaliser ce composant mais je rencontre des difficultés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <rich:recursiveTreeNodesAdaptor roots="#{appliCtlgCtrlBean.arbreApplis}" var="item" nodes="#{item.nodes}"> <rich:treeNode> <a4j:commandLink styleClass="menuLink" reRender = "form_rech_groupe" value="#{item.libelle}" action="#{appliCtlgCtrlBean.findByGroup}" status="waitStatus"> <f:param name="chemin" value="#{item.chemin}" /> <f:param name="type" value="#{item.type}" /> </a4j:commandLink> </rich:treeNode> </rich:recursiveTreeNodesAdaptor>
1) Pour déployer l'arbre, il faut cliquer sur l'onglet +: je souhaiterais que lorsque l'on clique sur le commandLink d'un répertoire il le déploie également. Comment coder cette fonctionnalité ?
2) Mon arbre contient des répertoires et des feuilles, sans que je sache à l'avance combien de sous niveau il y a dans chaque répertoire. Lorsqu'un répertoire est vide, il me l'affiche comme une feuille, or je souhaite qu'il soit affiché comme un répertoire, même s'il est vide. J'ai essayé de paramétrer mon recursiveTreeNodesAdaptor grâce aux paramètre iconLeaf et icon, mais il faudrait pour que ça fonctionne que je connaisse à l'avance la nature (répertoire ou feuille) de mon objet, ce qui n'est pas le cas.
3) Suite à mon problème n°2, j'ai tenté de contourner le problème en n'affichant pas les répertoires vide, via un rendered="#{not monBean.emptyDirectory}" qui appelle ma fonction isEmptyDirecory, le commandLink n'est pas affiché mais les icones le sont quand même... Peut-on faire un rendered du même style sur les icones ?
Si quelq'un a des pistes pour m'aider à résoudre mes problèmes... Merci d'avance !
Partager