Как мне отсортировать сетки данных Dojo на основе dojo.store.jsonrest в графическом интерфейсе без запроса REST?

#json #rest #datagrid #dojo #toolkit

#json #rest #datagrid #dojo #инструментарий

Вопрос:

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

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

Любая обратная связь, которую вы можете иметь, очень ценится!

Ответ №1:

Я столкнулся с той же проблемой и сначала попробовал 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);
    }
},