2014-03-12 84 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

我在這段代碼中找不到任何問題。但它會刪除您嘗試編輯的任何記錄並按取消。 –