2014-03-12 53 views

回答

2

添加“的CancelEdit”侦听RowEditing插件和编写逻辑可以接受你。

比如我写:

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', { 
    clicksToMoveEditor: 1, 
    autoCancel: false, 
    listeners: { 
     canceledit: function(editor, context) { 
      if(context.rowIdx == 0 && context.value == "New Guy") { 
       store.remove(context.record); 
      } 
     } 
    } 
}); 

工作演示:http://jsfiddle.net/3Ht5u/2/

+0

你也可以添加 'beforeedit' 监听器和保存行用户已保存。在取消时,您可以检查行是否未被用户保存,您可以将其删除。在这种情况下,不要忘记标记用户保存的所有初始行。 –

+0

谢谢我这样做...你有没有发现任何问题cancelit:function(grid,rowIndex,e){ \t \t editor.stopEditing(); \t var rec = grid.getSelectionModel()。getSelected(); \t alert(rec.get(“id”)) store.remove(rec); } – user3106347

+0

我在这段代码中找不到任何问题。但它会删除您尝试编辑的任何记录并按取消。 –