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

Ext JS / Sencha Discussion :

Récupération de données d'un tree


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ninatity
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Par défaut Récupération de données d'un tree
    Bonjour,
    J'ai aussi un autre problème avec un treepanel.
    J'ai un treepanel alimenté par un fichier xml tiré de ma base de données et je voudrais récupérer le premier attribut de l'arbre. Plus précisément, mon arbre affiche le numero et la description du domaine de travail et je veux récupérer le numero en cliquant sur n'importe quel endroit de l'arbre.

    J'ai un peu testé sur avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     var tree = new Ext.tree.TreePanel({id: 'tree-panel',region: 'center',margins: '2 2 0 2',autoScroll: true,rootVisible: false,root: new Ext.tree.AsyncTreeNode(),loader: new Ext.app.NotesLoader({dataUrl:'tree_xml.php'}),
     
    	        listeners: {
    	            render: function(){
                        tree.on('click', function(tree, node){
    	                    if(node && node.leaf){
    	                        Ext.Msg.alert('status','Rien à signaler');
    	                    }else{
                                Ext.Msg.alert('ok');
                            }
                        })
    	            }
    	        }});
    Quand je clic sur l'arbre il me renvoit 'ok' mais je ne sais pas comment récupérer le numero. Voici une partie de l'image de mon tree.
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Par défaut
    Tous les attributs d'un node se trouvent dans "attributes", du coup tu peux faire ceci (non testé):
    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
    var tree = new Ext.tree.TreePanel({
        id: 'tree-panel'
        ,region: 'center'
        ,margins: '2 2 0 2'
        ,autoScroll: true
        ,rootVisible:false
        ,root:new Ext.tree.AsyncTreeNode()
        ,loader:new Ext.app.NotesLoader({dataUrl:'tree_xml.php'})
        ,listeners: {
            render: function(){
                tree.on('click', function(tree, node){
                    alert(node.attributes);
                    // console.log(node.attributes);
                });
            }
    }});

  3. #3
    Membre confirmé Avatar de ninatity
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Par défaut Merci
    Merci pour la suggestion. Je l'ai déjà testé avant mais l'alerte me donne undefined. Merci quand même

  4. #4
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    Essayes ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var tree = new Ext.tree.TreePanel({
        id: 'tree-panel'
        ,region: 'center'
        ,margins: '2 2 0 2'
        ,autoScroll: true
        ,rootVisible:false
        ,root:new Ext.tree.AsyncTreeNode()
        ,loader:new Ext.app.NotesLoader({dataUrl:'tree_xml.php'})
        ,listeners: {
            click : function(node, e ){
                    alert(node.attributes.id); //en admettant que tu aies un champ id dans ton store
             }
    }});
    Comme le dit goldledoigt, les données de ton arbre te sont accessible par les attributs de ton nœud.
    par exemple, avec un JSON de ce type
    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
    [{
        task:'ColumnTree Example',
        duration:'3 hours',
        user:'',
        uiProvider:'col',
        cls:'master-task',
        iconCls:'task-folder',
        children:[{
            task:'Abstract rendering in TreeNodeUI',
            duration:'15 min',
            user:'Jack Slocum',
            uiProvider:'col',
            leaf:true,
            iconCls:'task'
        }
    }]
    Si tu click sur le noeud 'Abstract rendering in TreeNodeUI'
    alert(node.attributes.duration); te retournera '15 min'

  5. #5
    Membre confirmé Avatar de ninatity
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Par défaut Merci ça marche
    Merci beaucoup!!! ca marche impec pour moi avec ton code

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Réponse hors sujet
    Citation Envoyé par ninatity Voir le message
    Bonjour....
    Voici une partie de l'image de mon tree.
    Bonjour j'ai vu que ton image avait des cadres autour des icônes. c'est souvent du à un petit pb de définition de l'image transparente.

    Ext.BLANK_IMAGE_URL définit l'url d'une image de 1px transparente

    par défaut ExtJS va la chercher ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            BLANK_IMAGE_URL : Ext.isIE6 || Ext.isIE7 || Ext.isAir ?
                                'http:/' + '/extjs.com/s.gif' :
                                'data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==',
    donc si tu utilise IE6 IE7 ou Air il va sur le site de ExtJS pour la chercher.
    il suffit de remplacer 'http:/' + '/extjs.com/s.gif' par ../extjs/resources/images/default/s.gif

    A+JYT

  7. #7
    Membre confirmé Avatar de ninatity
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Par défaut Ok merci pour ton aide
    Oui c'est vrai il y avait une erreur de chargement dans mon tree. J'ai suivi ce que tu as suggéré et ça marche impec . Merci à toi

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2004, 10h09
  2. Réponses: 2
    Dernier message: 20/02/2004, 08h47
  3. [ DB2] => [ORACLE] Récupération de données
    Par LeDid dans le forum DB2
    Réponses: 3
    Dernier message: 25/06/2003, 17h10
  4. Réponses: 13
    Dernier message: 20/03/2003, 08h11
  5. [XMLRAD] récupération de donnée
    Par Mitch79 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 30/01/2003, 15h36

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