Магазин JsonRest Я создал показано нижеКак редактировать OndemandGrid и обновлять в JSONRest магазине
var questionBaseURL = "/" + contextName + "/service/questions/" + projectId + "/";
var questionStore = new dojo.store.JsonRest({
target: questionBaseURL,
handleAs: 'json',
idProperty: 'questionId'
});
questionStore = new dojo.store.Observable(questionStore);
var memoryStore = new dojo.store.Memory();
var questionCacheStore = new dojo.store.Cache(questionStore, memoryStore);
, который я использую, чтобы сделать в сетке, созданной ниже
var CustomGrid = declare([OnDemandGrid, Keyboard, Selection]);
var questionGrid = new CustomGrid({
store: questionCacheStore,
columns: [
editor({
label: "Questions",
field: "question",
editor: "text",
editOn: "dblclick",
sortable: true,
autoSave:true
})
],
selectionMode: "single",
cellNavigation: false
}, "questions");
questionGrid.startup();
questionGrid.renderArray(questionArray);
Данные правильно заполненный сеткой. Теперь, поскольку я использую «редактор», я могу редактировать заполненные данные в сетке. Я не уверен, как точно определить, были ли данные отредактированы (грязные данные) и какой метод вызывать для переноса обновленных данных на сервер. Я не мог найти легкую документацию. Поэтому любая помощь приветствуется. Заранее спасибо
У меня была такая же идея при ее реализации. Но по мере того как я дважды щелкаю строку и выполняю любую операцию редактирования, локально изменяется сетка строк и запускается запрос POST. Как вы можете видеть, я использую хранилище Observable Store и Cache. Я могу получить старые данные и новые данные строки, используя событие «questionGrid.on» («dgrid-datachange», function (evt) {}); ». Я попытался вызвать метод сохранения обоих хранилищ внутри события, но он регистрирует ошибку, поскольку «Объект [объект объекта] не имеет метода« сохранить ». Где я могу назвать этот метод? не могли бы вы быть более подробными? – binaries01
'save' - это метод на сетке, а не в магазине. Тем не менее, я пропустил, что в столбце 'editor' есть' autoSave: true', что вызовет функцию сохранения 'grid', каждый раз, когда изменяется поле редактора. Тем не менее, я обычно ожидал, что для запуска PUT через JsonRest, а не POST ... –
ОК спасибо .. – binaries01