dojo 1.7 Параметры QueryReadStore
Я новичок в Dojo, я использую QueryReadStore в качестве хранилища для загрузки моего TreeGrid, работает нормально. Но QueryReadStore добавляет некоторые параметры в URL, такие параметры, как parentId, count, sort и т. Д. Я посмотрел эту ссылку http://dojotoolkit.org/reference-guide/1.7/dojox/data/QueryReadStore.html, но не в состоянии понять.
Параметры передаются как этот сервлет /DataHandler? Start=0&count=25
Как манипулировать параметрами, например, я хочу установить значение для параметров parentId, чтобы я получал только данные конкретной строки.
1 ответ
Теоретически вы должны создать новый класс, расширив "dojox.data.QueryReadStore", в размещенной вами ссылке есть пример того, что вы хотите именно так. Посмотрим, получишь ли ты это сейчас (немного изменилось):
dojo.require("dojox.data.QueryReadStore");
dojo.declare("custom.MyReadStore", dojox.data.QueryReadStore, {
fetch:function(request){
//append here your custom parameters:
var qs = {p1:"This is parameter 1",
q:request.query.name
}
request.serverQuery = qs;
// Call superclasses' fetch
return this.inherited("fetch", arguments);
}
});
Поэтому, когда вы создаете QueryReadStore, вы фактически создаете объект с классом, который вы определили. что-то вроде этого:
var queryReadStore = new custom.MyReadStore({args...})
Изучите параметр запроса, переданный функции, чтобы увидеть, что еще вы можете сделать.