【问题标题】:how to revert single edited row in dojo dgrid?如何恢复dojo dgrid中的单个编辑行?
【发布时间】:2012-11-02 09:49:43
【问题描述】:

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

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

是否可以在单击操作列上的恢复/取消图标时仅重置/恢复单个编辑的行(这将是网格中提到的herehere 中的最后一列)

【问题讨论】:

    标签: javascript dojo grid dgrid


    【解决方案1】:

    如果您使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多