2010-10-27 4 views
1

J'ai essayé de me connecter pour simplement connecter un magasin de données (ItemFileReadStore) à un widget dijit.form.Select et je n'ai pas pu le faire. Si j'utilise le champ des options pour le peupler, alors le widget fonctionne bien mais quand j'utilise le champ store pour le peupler, le widget apparaît mais son contenu est vide. Le code que je suis en train d'utiliser est ci-dessous:Le widget Dojo Select ne remplit pas le contenu d'un magasin de données

var readStore = new dojo.data.ItemFileReadStore({ 
          label: "label", 
          identifier: "value", 
          //items: nestedSortOptions1 
          items: [{label : "Lab1", value: "Val1"}] 
        }); 
    var sel1 = new dijit.form.Select({ 
        id:"sel1", 
        name: "sel1", 
        required: true, 
        style: "width: 170px;", 
        //options: nestedSortOptions1 
        store: readStore 
      },"sel1"); 

Je suppose que vous faites ce widget « données activé » en utilisant le champ de magasin, mais je peux me tromper. Si quelqu'un peut l'aider serait grandement apprécié. Merci

Répondre

4

Vous êtes sur la bonne voie, mais dans le cas de votre exemple particulier affiché, il y a deux problèmes:

Tout d'abord, les propriétés vous passez à ItemFileReadStore doivent encore être intégrés dans un data attribut, à savoir:

var readStore = new dojo.data.ItemFileReadStore({ 
    data: { 
     label: "label", 
     identifier: "value", 
     items: [ 
      { label: "Lab1", value: "Val1" } 
     ] 
    } 
}); 

(Voir l'explication de l'attribut de données sur la page de guide de référence pour ItemFileReadStore: http://www.dojotoolkit.org/reference-guide/dojo/data/ItemFileReadStore.html)

Deuxièmement, vous êtes en négligeant d'appeler sel1.startup() après avoir instancié le Select. Il s'avère que startup est précisément l'endroit où le Select se trouve dans le magasin.

(La méthode startup est appelée automatiquement dans les cas où vous comptez sur dojo.parser pour analyser les instances widget déclaré HTML, il est aussi appelé automatiquement les widgets enfants de widgets de mise en page lorsque l'on appelle du widget mise en page startup.)

+0

Merci surtout pour le conseil de démarrage, une de ces choses qui est si facile à négliger. – Traker

Questions connexes