Bonjour,
Je sais qu'il y a des tonnes de topics à ce sujet. Mais j'ai beau les lire et relire, Je n'arrive pas à les adapter.
Je pense que ça viens du manque de maitrise des stores de ma part...
Ça me parait pourtant simple, je dois remplir un FilteringForm avec des données JSon récupérer par une requête Ajax. L'objet JSon récupérer possède la structure suivante :"status" et "message" indiquent le status de la requête (Failed, Success...) ainsi qu'un message optionnel indiquant la cause de l'erreur.
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 { status:..., message:..., responses: [ { id:... user:{...} }, { id:... user:{...} }, ... ] }
"responses" est un tableau contenant les résultats. C'est cette liste qui doit être affichée dans le FilteringSelect.
1ère question : comment indiquer au store que la liste des données est "responses" et non pas la racine de l'objet ?
2ème question : comment indiquer au FilteringSelect que l'id est "user.id" et le label "user.fullName" ?
Voici mon store :Et voici mon widget :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 this.membersStore = new dojo.data.ItemFileReadStore({ url: lib.utils.getSlashedUrl() + "ajaxGetMembers?responsibility=" + this.responsibility, });PS : la requête est envoyée par memberStore (vérifié avec Firebug), mais il semble être vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 this.membersSelect = new dijit.form.FilteringSelect( { store: this.membersStore, }, dojo.query(".selectMembers", this.container)[0] );
Partager