如何在dojo dgrid中恢复单个编辑的行?

时间:2012-11-02 09:49:44

标签: javascript dojo grid dgrid

有没有办法在dojo-dgrid中恢复/重置已编辑的行?

我可以看到grid.revert()确实清除脏项并调用refresh方法,刷新方法将刷新整个网格。我不希望这整个网格刷新。

单击Actions-column上的Revert / Cancel图标后,是否可以重置/恢复该单个已编辑的行(这将是所提到的网格中的最后一列here和{{3} })

1 个答案:

答案 0 :(得分:2)

如果您使用Observable包装商店,则可以使用 notify()更新单行。

例如,您可以为“还原/取消”按钮的 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