IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

rich:tree avec info sur noeud


Sujet :

JSF Java

  1. #1
    Membre régulier Avatar de LeGnome12
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 98
    Points : 109
    Points
    109
    Par défaut rich:tree avec info sur noeud
    Salut,
    Je crée un rich:tree à partir d'une liste d'objet. Chaque objet de cette liste contient une liste d'objet. Ceci sur trois niveau. Mon rich:tree représente ces trois niveaux.
    Jusqu'ici tout va bien.
    Mon problème est que chaqu'un de mes objets (sur chaqu'un des niveaux) contient un attribut statue. Mon but serais d'avoir une couleur de noeud, ou une icone différente suivant l'attribet statue.

    Voici la fonction qui me génère le treenode pour mon rich:tree :

    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
    25
    26
    27
    public TreeNode<String> getTreeNode() {
            TreeNode<String> rootNode = new TreeNodeImpl<String>();
            TreeNodeImpl<String> nodeImp = new TreeNodeImpl<String>();
            TreeNodeImpl<String> nodeImp2 = new TreeNodeImpl<String>();
            TreeNodeImpl<String> nodeImp3 = new TreeNodeImpl<String>();
     
     
            for (Group gp : this.getLstGroup()) {
                nodeImp = new TreeNodeImpl<String>();
                nodeImp.setData(gp.getName());
     
                for (SousGroup pc : gp.getLstSousGroup()) {
                    nodeImp2 = new TreeNodeImpl<String>();
                    nodeImp2.setData(pc.getName());
     
                    for (Job jb : pc.getLstFeuilles()) {
                        nodeImp3 = new TreeNodeImpl<String>();
                        nodeImp3.setData("feuille "+jb.getNo());
                        nodeImp2.addChild(jb.getJobNo(), nodeImp3);                
                    }
                    nodeImp.addChild(pc.getNo(), nodeImp2);                
                }
                rootNode.addChild(gp.getNo(), nodeImp);
            }
            return rootNode;
     
        }

    Et voici le xhtml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <rich:tree style="width:100%; text-align: left"
                                     ajaxSubmitSelection="true"
                                     nodeSelectListener="#{JobByTreeManagement.processSelection}" 
                                    switchType="client" value="#{JobByTreeManagement.treeNode}" var="item"
                                    ajaxKeys="#{null}">
                                </rich:tree>
    Quelqu'un connait-il la solution svp ?
    Merci

  2. #2
    Membre régulier Avatar de LeGnome12
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 98
    Points : 109
    Points
    109
    Par défaut et on trouve soit meme la reponse
    Bon, après de longue recherche et d'inombrable test, j'ai enfin trouvé la réponse. J'en fais profité ceux que sa interesse.
    Pour ce faire, j'ai créé une classe interne nommé NodeObject. Cette classe a deux variables name et status. Lorsque je construis mes objets treenode ils prennent nodeObject a la place de String ( TreeNode<NodeObject> et TreeNodeImpl<NodeObject>)

    Finalement, je peux acceder au contenu de lobjet comme ils suis :

    <rich:tree style="width:100%; text-align: left"
    ajaxSubmitSelection="true"
    nodeSelectListener="#{JobByTreeManagement.processSelection}"
    switchType="client" value="#{JobByTreeManagement.treeNode}"
    var="item" ajaxKeys="#{null}">

    <rich:treeNode>
    <h:outputText value="#{item.name}" style="color:#{item.status}" />


    Finalement, une fois u la reponse ce n'est plus compliqué.

    LeDoc,
    Avec de la patience, du courage et de la percévérence, rien n'est impossible
    </rich:treeNode>

    </rich:tree>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. rich:tree avec binding
    Par trin86 dans le forum JSF
    Réponses: 12
    Dernier message: 25/11/2009, 13h21
  2. [LabView 8.5] Info sur un noeud de propriété
    Par yoann23 dans le forum LabVIEW
    Réponses: 6
    Dernier message: 19/03/2008, 16h45
  3. [XPath] test d'existence de noeud avec conditions sur les enfants
    Par MasterOfChakhaL dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 11/04/2007, 10h42
  4. Tree avec selection des noeuds
    Par Alec6 dans le forum JSF
    Réponses: 1
    Dernier message: 12/02/2007, 15h43
  5. Plusieures infos sur une seule ligne avec ou sans tableau
    Par Him dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/03/2006, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo