Pagination avec un Datagrid et un queryReadStore
Bonjour,
Ayant toujours travaillé avec des itemFileRead/WriteStore, je suis un peu perdu avec les manipulations qui sont faites par le queryReadStore.
Je souhaite faire un "suivant/précédent" pour réduire le nombre de lignes affichées dans mes tableaux.
Actuellement, j'arrive à envoyer la nouvelle requête et à retourner le contenu suivant mais je n'arrive pas à l'insérer dans le datagrid. Pourtant le store aux "onComplete" du fetch contient bien mes nouvelles données. Et il ne veut pas du setStore le bougre !
Au clic sur mon bouton "Next" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
var queryOptions = {};
var query = {};
query.count = 10;
Next = query.count + Next;
query.next = Next;
var request = {query:query, queryOptions:queryOptions};
var requestMethod = "post";
store.requestMethod = requestMethod;
store.doClientPaging = true;
store.doClientSorting = true;
request.onComplete = function (items) {
var s = "number of items: "+items.length+"\r\n";
for (var i=0; i<items.length; i++) {
s += i+": name: "+dijit.byId('monTableau').store.getValue(items[i], "id")+"'\r\n";
}
// dijit.byId('monTableau').store.setStore(store);
// dijit.byId('monTableau').startup();
}; |
mon store et mon tableau :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
var store = new dojox.data.QueryReadStore({
id:'storeQuery',
url:"store/listeQuery.php",
requestMethod:"post"
});
var Next = 0;
var tableau = new dojox.grid.DataGrid({
id : 'monTableau',
store : store,
structure : layout,
rowSelector : '20px',
rowsPerPage:"10",
autoWidth : true,
clientSort : true
}, document.createElement('div')); |
Si vous avez une idée, merci d'avance :)