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...})

Изучите параметр запроса, переданный функции, чтобы увидеть, что еще вы можете сделать.

Другие вопросы по тегам