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 :
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">
...
Ca marche : mon fichier php renvoie bien un echo au format JSON... et ma grille s'affiche !

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 :
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;
		}
        });
}
Ce code déclenche l'argument error: de la fonction....
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 ??