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

Bibliothèques & Frameworks Discussion :

Obtenir le noeuds XML au click sur un item d'un Tree [Dojo]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut Obtenir le noeuds XML au click sur un item d'un Tree
    Salut,

    Je cherche à obtenir un Tree qui est alimenté par un fichier XML ayant pour structure ceci:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <root>
    	<page name="central" imgsrc="img-central.png" imgw="600" imgh="200">
    		<area link="toto1" coords="123,456,12,24" txtinfo="Toto" shape="rect"/>
    		<area link="tata1" coords="123,456,12,24" txtinfo="Tata" shape="rect"/>
    		<area link="titi1" coords="123,456,12,241,23,456,12,24" txtinfo="Titi" shape="poly"/>
    	</page>
    	<page name="left" imgsrc="img-left.png" imgw="600" imgh="200">
    		<area link="page1" coords="123,456,12,24" txtinfo="roll-over page 1" shape="rect"/>
    		<area link="page2" coords="123,456,12,24" txtinfo="roll-over page 2" shape="rect"/>
    		<area link="page3" coords="123,456,12,241,23,456,12,24" txtinfo="roll-over page 2" shape="poly"/>
    	</page>
    </root>

    Je souhaite faire apparaitre dans mon Tree uniquement cahque noeud possédant l'attribut name. donc ici mon Tree aura 2 element : left et central.

    j'utilise donc un XMLStore pour récupérer mon xml :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div dojoType="dojox.data.XmlStore" url="data.xml" label="name" attributeMap="{'name': '@name'}" jsId="xmlDataStore">

    A présent je code mon model pour mon Tree:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div dojoType="dijit.tree.ForestStoreModel" jsId="xmlModel" 
    		        store="xmlDataStore" rootId="pages" rootLabel="Pages" >
    </div>

    et pour finir mon Tree:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div dojoType="dijit.Tree" id="tree3" model="xmlModel">
    	<script type="dojo/method" event="onClick" args="item,treeNode">
            </script>
    </div>

    Mon problème se situe dans le handler de l'event onClick, que dois je mettre pour obtenir le noeud complet pour un click sur un des items, à savoir que si je clique sur central, je souhaite récupérer tous le noued xml suivant :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <page name="central" imgsrc="img-central.png" imgw="600" imgh="200">
    		<area link="toto1" coords="123,456,12,24" txtinfo="Toto" shape="rect"/>
    		<area link="tata1" coords="123,456,12,24" txtinfo="Tata" shape="rect"/>
    		<area link="titi1" coords="123,456,12,241,23,456,12,24" txtinfo="Titi" shape="poly"/>
    	</page>

    Pour cela j'ai tenté d'explorer les methodes et propriétés du XMLStore mais je ne récupère uniquement que le label de l'item.

    Qq'un peut il m'orienter, suis je déjà dans la bonne voie ?

    Merci

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Re,

    J'avance sur le sujet à présent j'arrive à obtenir les infos lors du click, d'une façon un peu expérimental à mon goût, j'aimerais d'ailleurs avoir un retour sur ma façon de faire...
    Bref, il reste tjs un soucis, maintenant mon Tree ne sa'ffiche pas correctement ...

    je souhaiterais qq chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     - Pages
         |--central
         |--left
    cependant j'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     - Pages
         | - undefined
                |--undefined
                |--undefined
    Voici le code qui m'amene à ce résultat (tjs avec le même XML):

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <div dojoType="dojox.data.XmlStore" url="data.xml" jsId="xmlDataStore" rootItem="root"></div>
    <div dojoType="dijit.tree.ForestStoreModel" jsId="xmlModel" 
    	store="xmlDataStore" childrenAttrs="page" 
    	rootId="pages" rootLabel="Pages" >
    </div>
    <div dojoType="dijit.Tree" id="tree3" model="xmlModel">
          <script type="dojo/method" event="onClick" args="item,treeNode">
    		//ceci me permet de récuperer les attributs de mon noeuds page (name, imgw, imgh, imgsrc)
                    console.dir(item.element.attributes);
                    // permet de récupérer tous les noeuds enfant area de chaque page
    		console.dir(item.element.childNodes[0].nextSibling.attributes);
          </script>
    </div>

    Alors pour résumer il me faut un coup de main pour afficher les bonnes infos sur mon tree un genre de LabelField(je parle Flex ).
    Et j'aimerais un retour sur ma méthode onClick pour récupérer les infos lors d'un click sur un item du tree.

    Merci

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Bon en fait je tournais autour de la solution

    voici ce qui correspond à mes attentes, il suffit de modifier qq attributs du XMLStore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div dojoType="dojox.data.XmlStore" url="data.xml" jsId="xmlDataStore" label="name" attributeMap="{'name': '@name'}"></div>
    et le tour est joué.

    Cependant j'ai régulierement des messages d'erreur dans le console FireBug, et de façon aléatoire.

    Dijit is not defined
    et/ou

    Dojo is not defined
    je ne comprend pas bien pourquoi celles ci apparaisent de manière aléatoire... si qq'un à une explication, je suis preneur

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

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

Discussions similaires

  1. Click sur un item d'une TCheckListBox
    Par NGeVtC87 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/09/2015, 12h13
  2. ListBox avec CheckBox: click sur un item
    Par yonpo dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 26/11/2010, 11h39
  3. Click sur un Item d'une ListBox
    Par Morgoth818 dans le forum Windows Presentation Foundation
    Réponses: 14
    Dernier message: 07/05/2009, 12h35
  4. Ajout d'un attribut sur un noeud xml
    Par jbrasselet dans le forum VBScript
    Réponses: 2
    Dernier message: 02/07/2007, 16h51
  5. Click sur listbox1.items[1]
    Par NapsterVB dans le forum Delphi
    Réponses: 1
    Dernier message: 29/12/2006, 12h15

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