Bonjour,
Je me suis inspiré de ce fil pour mettre à jour le Store d'un composant Grid de Dojo : http://www.developpez.net/forums/d80...grid-datagrid/
Quand je charge ma page la première fois, j'ai ce code :
Ca marche : mon fichier php renvoie bien un echo au format JSON... et ma grille s'affiche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <span dojoType="dojo.data.ItemFileReadStore" jsId="store1" url="<?php echo POSITION.'inclus/depenses/deptdb/deptdb_contenu.php'; ?>"> </span> <table dojoType="dojox.grid.DataGrid" jsId="grid" id="grid" store="store1"> ...
Je souhaite pouvoir la mettre à jour (afficher des sources/stores différents) de multiples manières et j'ai donc créé un petit formulaire sur le côté de la page. Les boutons sur le formulaire font appel à une fonction JS telle que :
Ce code déclenche l'argument error: de la fonction....
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 function updatedata(){ dojo.byId("deptdb").innerHTML="<img alt=\'Patientez svp\' src='<?php echo POSITION.'inclus/js/dojox/image/resources/images/loading.gif'; ?>'>"; dojo.xhrPost( { url: "<?php echo POSITION.'inclus/depenses/deptdb/deptdb_contenu.php'; ?>", form: dojo.byId("tdbmenu"), handleAs: "text", timeout: 5000, load: function(response, ioArgs) { dijit.byId("grid").setStore(response); return; }, error: function(response, ioArgs) { dojo.byId("deptdb").innerHTML = 'Serveur occupé ... <a href="#" onClick="updatedata()">Actualiser</a>'; return response; } }); }
Pourtant, si dans l'argument load je mets : dojo.byId(un div quelconque).innerHTML=response; j'affiche bien une chaîne de caractères au format JSON dans le div concerné. Donc mon petit script Php renvoie bien ce qu'on lui demande.
Où est-ce que je me trompe ??
Merci de votre aide !
PS : est-ce que ensuite je pourrai changer le nombre de colonnes et leur champ field, sans avoir non plus à recharger la page ??
Partager