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 :

tree et dijit.tree.ForestStoreModel récupérer l'objet store


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Points : 112
    Points
    112
    Par défaut tree et dijit.tree.ForestStoreModel récupérer l'objet store
    Bonjour,

    Je rencontre des problèmes pour utiliser un arbre.

    Voici mon code :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html dir="ltr">
     
        <head>
            <style type="text/css">
                body, html { font-family:helvetica,arial,sans-serif; font-size:90%; }
            </style>
            <script type="text/javascript">
    		var djConfig = {
    					isDebug:true,
    					parseOnLoad:true
    		};
    		</script>
    		<script type="text/javascript" src="../js/dojo-release-1.5.0/dojo/dojo.js"></script>
            <script type="text/javascript">
                dojo.require("dojo.data.ItemFileReadStore");
                dojo.require("dijit.Tree");
            </script>
            <link rel="stylesheet" type="text/css" href="../js/dojo-release-1.5.0/dijit/themes/claro/claro.css"/>
        </head>
     
        <body class=" claro ">
            <div dojoType="dojo.data.ItemFileReadStore" jsId="continentStore" url="../data/countries.json">
            </div>
            <div dojoType="dijit.tree.ForestStoreModel" jsId="continentModel" store="continentStore"
            query="{type:'continent'}" rootId="continentRoot" rootLabel="Continents"
            childrenAttrs="children">
            </div>
            <div dojoType="dijit.Tree" id="mytree" model="continentModel" autoExpand="false" openOnClick="true" openOnDblClick="false">
                <script type="dojo/method" event="onClick" args="item">
                    alert("Execute of node " + continentStore.getLabel(item) + ", population=" + continentStore.getValue(item, "population"));
    			</script>
    			<script type="dojo/method" event="getLabelStyle" args="item,opened">
    				/*if(item && continentStore.getValue(item,"type") == "continent"){
    					return {color: "red"};
    				}else{
    					return {color: "green"};
    				}*/
    			</script>
    			<script type="dojo/method" event="getTooltip" args="item">
    				return item && ("Tooltip de " + this.model.getLabel(item));
    			</script>
            </div>
            <!-- NOTE: the following script tag is not intended for usage in real
            world!! it is part of the CodeGlass and you should just remove it when
            you use the code -->
            <script type="text/javascript">
                dojo.addOnLoad(function() {
                    if (document.pub) {
                        document.pub();
                    }
                });
            </script>
        </body>
     
    </html>
    C'est cette partie de mon code qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    continentStore.getValue(item,"type") == "continent"
    En fait je passe par l'objet dijit.tree.ForestStoreModel comme conseillé dans la doc (http://docs.dojocampus.org/dijit/Tree). Ci je ne passe pas par cet objet tout fonctionne...

    Ce site : http://archive.dojotoolkit.org/night...test_Tree.html le fait sans passer par l'objet dijit.tree.ForestStoreModel.

    Je voudrais savoir comment faire en utilisant l'objet model.

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    Bonjour,

    A première vue, tu ne passes pas par le "ForestStoreModel" (id:continentModel) mais par le "ItemFileReadStore" (id:continentStore).

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Points : 112
    Points
    112
    Par défaut
    Bonjour,

    Si je passe par le continentModel cela ne fonctionne pas non plus, il dit que la méthode n'existe pas...

    Je pense qu'il faut passer par le continentModel et récupérer le store mais je ne sais pas comment faire.

    Je souhaite créer un arbre avec des données se trouvant dans une base de données en modifiant les icone des feuilles et des branches (seulements certaines icones), avez vous un exemple?

    Merci pour votre aide.

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    Je pense que la commande c'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    continentModel.store.getValue....
    Je ne connais pas très bien les trees, je n'ai jamais utilisé

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    pour le cas de tes Icones il faut que tu utilise la fonction getIconClass qui devra appelé une fonction js qui fait le teste si ton item et de type Arbre ou feuille puis

    tu doit l'associer avec un fichier css qui va contenir le chemin de les icone que tu veux afficher pr chaque type .

    la fonction js que tu va l'appelé ds getIconeClass il va contenir un code de ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     if(item.type == 'Arbre'){
            return "arbre";
     
    } else 
          return "feuille";
    et le fichier css il va contenir le string que tu retourn :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .pageNonPublier {
        background-image:  url(img.gif);
        width: 15px;
        height: 15px;
        text-align: center;
    }
    j'espère que cela t'aidera

Discussions similaires

  1. [Dojo] Dijit.tree.ForestStoreModel : père/fils
    Par cfried dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 01/04/2011, 13h26
  2. [Dojo] drag and drop avec dijit.tree
    Par laminfodev dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 29/01/2010, 12h06
  3. [Dojo] actualisée dijit tree
    Par laminfodev dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 25/01/2010, 16h18
  4. [Dojo] dijit.tree avec dijit.menu
    Par laminfodev dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 22/01/2010, 10h29
  5. [Dojo] dijit.Tree avec de longues lignes
    Par Eric Pasquier dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 10/11/2009, 15h49

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