#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);
}
},