有没有办法恢复/重置 dojo-dgrid 中已编辑的行?
我可以看到 grid.revert() 确实清除了脏项目并调用了刷新方法,这将刷新整个网格。我不想要整个网格刷新。
如果您使用Observable包装您的商店,您可以使用notify()来更新单行。
例如,您可以为 Revert/Cancel 按钮的onClick事件创建以下代码:
renderCell: function(object, data, cell){
var btnRevert = new Button({
label: "Revert",
// ...
onClick: function(evt){
var dirty = that.grid.dirty,
id = object.id;
if(dirty.hasOwnProperty(id)){
// remove dirty data
delete dirty[id];
// ..and notify the store to update
myStore.notify(object, object.id);
}
}
}, cell.appendChild(put("div")) );
return btnRevert;
}
这是一个带有示例的 jsfiddle:revert example