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 :

Afficher les sous elements d'un dossier dans une tree


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut Afficher les sous elements d'un dossier dans une tree
    Salut;

    J'aimerai bien améliorer mon tree , pourtant je veux dans le premier affichage de tree je charge juste le racine et quand je clique pour dérouler sur le plus (+) du tree , il charge les sous élements , aussi quand je clique sur un dossier parmi les les élement du racine , il charge les sous élements de cette dossier et ainsi de suite .

    Merci de me donner des idées .

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Tout se joue au niveau du store. Dojo pioche dans le store pour afficher les éléments. Si tu veux un chargement progressif des objets de ton store il faut gérer au mieux sa fonction isItemLoaded.

    Tu as un exemple de ce que cela peux donner si tu regardes le source de dojo avec dojox.data.demos.stores.LazyLoadJSIStore.

    Et sinon une solution aussi très intéressante est de passer par un JsonRestStore qui gère le lazyLoading (un article ici).

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Salut ,

    Merci pour votre aide.

    J'ai cree le tree avec se code , j'ai utilsé dojox.data.JsonRestStore
    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
     
    <div dojoType="dojox.data.JsonRestStore"
        jsid="treeStore"
        idAttribute = "treeStore"
        target  = '<?php echo htmlentities($this->dataTree, ENT_QUOTES) ?> '
        service = "treeService">
    </div>
     
    <div dojoType="dijit.tree.ForestStoreModel" 
         jsid="treeModel" 
         store="treeStore"
         idAttribute="sunid" 
         labelAttribute="name"
         >
    </div>
     
     
    <div dojoType="dijit.Tree"
         id="tree"
         model="treeModel"
         jsid="ptTree"
         dndController="dijit._tree.dndSource"
          dragThreshold="10"
         getIconClass="getIconClassPwb"
         betweenThreshold="5"
    >
    </div>
    j'ai une action qui envoi les données format json ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    "{label:"name",
                                        identifier:"num",
                                        items: '[{"num":"1","name":"treeRacine","pere":null,"type":"Dossier","children":
    [{"num":"3","name":"aaaa","pere":"1","type":"Page"},
    {"num":"4","name":"bbbb","pere":"1","type":"Page"},
    {"num":"2","name":"ddddd","pere":"1","type":"Dossier","children":
    [{"num":"8","name":"ioio","pere":"2","type":"Page"},
    {"num":"9","name":"dddd","pere":"2","type":"Page}]}]"
    mais il m'affiche une erreur et il charge pas le tree , juste un element undefined.

    L'erreur affiché est :
    [Widget dijit.Tree, tree] _connects=[6] _deferredConnects=Object id=tree : error loading root children: Error: Unable to load {label:"name", identifier:"num", items: [{"num":"1.........
    Voila ma question :
    Est se que se widget chage tous les élémnts de la base de donnée d'un seul coup ?
    par ce que moi se que je cherche c'est charger les données progressivement , se que j'ai constaté que se widget charge a la fois les données .

    Merci .

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Passe tout ton code car là c'est trop court (page php appelée, ...)

    ERE
    Quand une tête pense seule, elle devient folle.

  5. #5
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Salut,

    Passe tout ton code car là c'est trop court (page php appelée, ...)

    ERE
    Bien reçu ton code.
    Mais ce que je te demandais c'est plutôt ton code JS côté client.

    Et Devkaty pour info je ne peux malheureusement pas passer des heures à décortiquer du code (PHP ou autre) qui n'est pas commenté et/ou sorti de son contexte.



    ERE
    Quand une tête pense seule, elle devient folle.

  6. #6
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Salut ,
    J'ai une action qui envoi les données .
    Ici le code qui cree le 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
     
    <div dojoType="dojox.data.JsonRestStore"
        jsid="treeStore"
        idAttribute = "treeStore"
        // ici je recupere les données envoyées par une action
        target  = '<?php echo htmlentities($this->dataTree, ENT_QUOTES) ?> '
       >
    </div>
     
    <div dojoType="dijit.tree.ForestStoreModel" 
         jsid="treeModel" 
         store="treeStore"
         labelAttribute="name"
         >
     
     
    <div dojoType="dijit.Tree"
         id="tree"
         model="treeModel"
         jsid="ptTree"
    >
    </div>
    C'est ça se que j'ai fait , je sais pas si je dois ajouter autre chose .

  7. #7
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Re,

    L'attribut target ne représente pas les données:
    // The *target* parameter
    //This is the target URL for this Service store. This may be used in place
    //of a service parameter to connect directly to RESTful URL without
    //using a dojox.rpc.Service object.
    ERE
    Quand une tête pense seule, elle devient folle.

  8. #8
    Membre régulier Avatar de devkaty
    Inscrit en
    Mai 2009
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 174
    Points : 96
    Points
    96
    Par défaut
    Salut,

    Merci beaucoup pour vos réponses.

    J'ai beaucoup cherché comment il fonctionne ce widget mais j'ai pas trouvé un exemple , est ce que vous pouvez m'expliquer comment je peux utiliser ce widget , et comment il fonctionne ?

    Merci bien.

  9. #9
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Re,
    Citation Envoyé par devkaty Voir le message
    Salut,

    Merci beaucoup pour vos réponses.

    J'ai beaucoup cherché comment il fonctionne ce widget mais j'ai pas trouvé un exemple , est ce que vous pouvez m'expliquer comment je peux utiliser ce widget , et comment il fonctionne ?

    Merci bien.
    http://www.sitepen.com/blog/2008/06/...son-dojo-data/

    ERE
    Quand une tête pense seule, elle devient folle.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/10/2014, 15h18
  2. Réponses: 1
    Dernier message: 22/01/2013, 10h06
  3. Comment afficher les resultats d'un scan Wifi dans une ListView?
    Par xXO--Hades--OXx dans le forum Composants graphiques
    Réponses: 8
    Dernier message: 09/02/2011, 13h14
  4. Réponses: 2
    Dernier message: 02/07/2010, 18h16
  5. Réponses: 0
    Dernier message: 24/02/2008, 18h19

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