У меня есть dgrid, который заполняется из додзё/запроса:
var TrackableMem = declare([Memory, Trackable]);
var store = new TrackableMem({
data : resp.results
});
Эта сетка имеет несколько столбцов, которые являются текстовыми полями. Когда они изменены, я хотел бы подтвердить, что пользователь действительно хочет их редактировать:
grid.on("dgrid-datachange", function(evt) {
if(!confirm("change this field?")) {
// revert cell value back to the old one.
grid.get("collection").get(evt.cell.row.id).notes = evt.oldValue;
grid.refresh();
} else {
// do ajax call here.....
}
}
Это не работает, новое обновленное значение остается там, но когда я запускаю то же самое в консоли разработчика, оно работает:
grid.get("collection").get(0).notes = "testing";
grid.refresh();
Есть идеи? evt.cell.row.id и evt.oldValue являются правильными значениями.