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 :

Selection des node d'un tree


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut Selection des node d'un tree
    Bonjour

    J'ai un souci avec mon rich:tree.

    Je le construit correctement, enfin je pense, mais lorsque je clic sur un des éléments de type "treeNode" je n'arrive pas à récupérer l'action associée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <rich:tree switchType="client" style="width:300px" value="#{a.getProcessTree()}" var="p"
    		nodeFace="#{a.getType(p)}" id="treeProcess">
    		<rich:treeNode type="process" iconLeaf="/img/process.png" icon="/img/process.png" >
    			<h:commandLink value="#{p.clientId}" action="#{a.showPIDetail}" onclic="#{a.showPIDetail}" reRender="piCreationDetail" />
    		</rich:treeNode>
    		<rich:treeNode type="activity" iconLeaf="/img/activity.png" icon="/img/activity.png">
    			<h:commandLink value="#{p.clientId}" action="#{a.showAIDetail}"  onclic="#{a.showAIDetail}" reRender="aiCreationDetail" />
    		</rich:treeNode>
    		<rich:treeNode type="parentProcess" iconLeaf="/img/parentProcess.png" icon="/img/parentProcess.png">
    			<h:commandLink value="#{p.clientId}" action="#{a.processSelected(p)}"  reRender="piCreationDetail" />
    		</rich:treeNode>
    	</rich:tree>

    a = mon animator (bean)

    J'ai volontairement doublé ici les methodes associées à "onclic" et "action", essayées séparément ou ensemble je ne passe pas en debug (eclipse) dans les methodes associées.

    Merci de votre aide

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu utilise le commandLink des composants JSF de base, il ne contient pas de reRender, de plus, onlic n'existe pas, et onclick ne prend pas d'expression EL, elle est destiné au code javascript sur l'évènement.

    tu peux t'inspirer de ce code pour faire ce que tu veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <rich:treeNode>
    <h:commandLink  onclick="javascript:functionName();">#{item.Name}</h:commandLink>
    <a4j:support event="onselected" actionListener="#{bean.treeActionListener}"  />
     </rich:treeNode>

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut
    Bon je note ta solution que je n'ai pas pour l'instant réussi à faire fonctionner.


    Dans le cas ou je remplace mes commandLink par des outputLabel, quel procédé utiliser pour obtenir le résultat attendu ?
    (récupérer le node sélectionné ?)

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    c'est le a4j:support qui est important, tu as l'action dans l'actionListener, tu peux utiliser l'attribut action aussi. tout doit être inclus dans un form.
    tu trouvera des exemples sur site livedemo.

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <rich:treeNode type="parentProcess" iconLeaf="/img/parentProcess.png" icon="/img/parentProcess.png">
    	<h:commandLink value="#{p.clientId}" action="#{a.processSelected(p)}"  reRender="piCreationDetail" />
    </rich:treeNode>
    Comment expliquer que seul ce node, le parent, fonctionne ?

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    regarde l'exemple de la démo, il y'a exactement ce que tu souhaites faire.

Discussions similaires

  1. Selectionner des nodes dans un tree
    Par Sergejack dans le forum Flex
    Réponses: 0
    Dernier message: 13/05/2008, 16h44
  2. Tree avec selection des noeuds
    Par Alec6 dans le forum JSF
    Réponses: 1
    Dernier message: 12/02/2007, 15h43
  3. Selection des x premiers caractères dans un champ précis
    Par Schulman dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/01/2005, 09h23
  4. [debutant] selection des 6 derniers enregistrements
    Par LoLoSS dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/07/2004, 15h27
  5. Réponses: 10
    Dernier message: 01/08/2003, 13h45

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