Как отсортировать Dojo DataGrids на основе dojo.store.jsonrest в графическом интерфейсе без запроса REST? - PullRequest
1 голос
/ 19 октября 2011

В настоящее время я реализую интерфейс на основе Dojo Toolkit (1.6.1), получая много данных от сервисов RESTful. Это представлено в графическом интерфейсе dojox.grid.DataGrid с использованием dojo.store.JsonRest-store.

Однако в сетке используются операции, для которых я не хочу отправлять запрос JSON, например сортировка столбца. Можно ли разрешить пользователю сортировать данные без такого запроса? Могу ли я кешировать информацию о хранилище локально (например, в браузере пользователя или в файле), чтобы избежать этого?

Любая обратная связь с вами очень ценится!

1 Ответ

2 голосов
/ 21 декабря 2011

Я столкнулся с той же проблемой и сначала попытался dojo.store.cache, но это не работает.Поэтому я создал свой собственный кэш, используя dojo.store.memory:

startBuildingCache: function (url, idProperty) {
    try {
        var jsonStore = new dojo.store.JsonRest({ target: url });
        var jsonObjectStore = dojo.data.ObjectStore({ objectStore: jsonStore });

        var gotItems = dojo.hitch(this, function (items, request) {

            var dataStore = new dojo.store.Memory({
                data: items,
                idProperty: idProperty
            });

            this.cache = dojo.data.ObjectStore({ objectStore: dataStore });
            this.onCacheBuild({
                src: this,
                cache: this.cache
            });
        });

        jsonObjectStore.fetch({ onComplete: gotItems });


    } catch (e) {
        console.log(e.name + ": " + e.message);
    }
},
...