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

Flex Discussion :

mx:Tree et dataChange


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut mx:Tree et dataChange
    Bonjour,

    J'ai un Tree qui est rempli à l'aide d'un dataProvider.
    Lorsque je change les valeurs du dataProvider, le tree affiche bien les nouvelles valeurs mais ferme tout les nodes ouvert.

    Je pensais donc intercepter l'event dataChange du tree pour utiliser un Tree.openItems pour y réouvrir tout les nodes.

    Mais alors que je change les données de mon dataProvider, il ne passe par dans l'event dataChange.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <mx:Tree x="10" y="10" width="100%" height="100%" id="TreeGrid"
    dataChange="doTreeDataChange(event)"
    dataProvider="{model.getTreeDataResult}" 
    dataDescriptor="{new EdcTreeDataDescriptor()}"
    labelFunction="treeLabel" iconFunction="treeIcon"/>
    Des idées ?

    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Bonjour,

    dataChange est un évènement appelé lorsque la propriété data est modifiée.

    When you use a component as an item renderer, the data property contains the data to display. You can listen for this event and update the component when the data property changes.
    The FlexEvent.DATA_CHANGE constant defines the value of the type property of the event object for a dataChange event.
    Or toi tu veux surveiller le dataProvider, je n'en suis pas très sûre mais il me semble que tu devrais utiliser l'évènement valueCommit.

    ++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    Merci ellene,

    Il n'y a donc aucun évènements sur le changement du dataProvider d'un composant ?

    J'ai essayé le valueCommit mais il se déclenche tout le temps.
    Bon, je regarde encore.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Bon j'ai relu la description de ton problème, tu dis :
    Lorsque JE change les valeurs du dataProvider, le tree affiche bien les nouvelles valeurs mais ferme tout les nodes ouvert.
    Si c'est toi qui le change tu n'as qu'à créer ton propre évènement et faire ton traitement. C'est le plus simple non ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    Pour t'expliquer vraiment mon problème je vais détailler mon code.

    Pour info, j'utilise weborb, mais bon c'est juste pour info, ça ne change rien à problème flex.
    j'ai donc mon tree qui est binder sur {model.getTreeDataResult}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mx:Tree id="TreeGrid" dataProvider="{model.getTreeDataResult}"/>
    Dans mon code je vais appeler la méthode qui remple le model.

    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
     
    [Bindable]
    private var model:EdcLayerModel = new EdcLayerModel();
    private var serviceProxy:EdcLayer = new EdcLayer(model);
     
    public function refreshTree():void {
        serviceProxy.getTreeData(new ItemResponder(resultGetTreeDataFunction, faultGetTreeDataFunction));
    }
     
    public function resultGetTreeDataFunction(result:Object, token:Object = null):void{
     
    }
     
    public function faultGetTreeDataFunction(error:Object, token:Object = null):void{
    }
    Le problème c'est que quand je rentre dans la méthode resultGetTreeDataFunction, le dataProvider du tree n'est pas encore mit à jour.

    Ce qu'il me faudrait c'est un event en fin de changement du dataProvider du tree.

    Sait-on mettre un évènement sur le dataProvider du tree ou bien sur le binding entre le dataProvider et le model.getTreeDataResult ?

  6. #6
    Membre expérimenté Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut
    Bonjour,

    j'ai déja essayé de résoudre ce problème mais je ne suis pas arrivé, je te laisse ce lien qui contient comment faire pour sauvegarder l'etat de tes noeuds aprés un update du dataprovider

    http://www.adobe.com/devnet/flex/qui...ing_with_tree/


    et cherche cette phrase

    Keep a Tree control open with the data provider is updated

    et si tu arrive tiens moi au courant ça m'interesse

    Bon courage

    Samy

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

Discussions similaires

  1. [MX2004] Tree
    Par freegreg dans le forum Flash
    Réponses: 4
    Dernier message: 09/01/2004, 15h25
  2. Tree View avec XML et XSL
    Par Drooxy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/04/2003, 10h21
  3. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 09h53
  4. BTREE & B+TREE
    Par TuxP dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 09/08/2002, 17h27
  5. Recherche algo tree
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 24/05/2002, 13h44

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