2010-07-27 59 views
0

如何獲取更新記錄,我重寫Ok函數以保存表單中的更改。 1.i只是覆蓋ok功能,但不能獲得修改記錄。ok記錄中的表格插件extjs中的表格插件

Ext.override(Ext.ux.grid.RecordForm , { 
    onOK:function() { 

      updateRecord1(); 
     } 

}); 
function updateRecord1() {//alert('record'); 
var records =store.getModifiedRecords(); 
     if(!records.length) { 
      return; 
     } 
     var data = []; 
     Ext.each(records, function(r, i) { 
      var o = r.getChanges(); 
      if(r.data.newRecord) { 
       o.newRecord = true; 
      } 
      o[idName] = r.get(idName); 
      data.push(o); 
     }); 
     var o = { 
      url:gl_acc.php 
      ,method:'post' 
      ,params:{ 
       record:record.get('id'), 
       task:'update' 
      } 
     }; 
     Ext.Ajax.request(o); 
    } // eo function commitChanges 

回答

0

var records = this.store.getModifiedRecords();

+0

我正在重寫的OnOK記錄表格插件的功能由薩基在ExtJS的,我不能夠獲取更新的記錄。 – mayuri 2010-07-27 06:41:47

+0

我簡單地看了一下源代碼,看來你需要通過'this.store'或'this.grid.store'引用它。除非你有一個名爲'store'的全局變量,否則調用'store.getModifiedRecords();'將不會執行任何操作(除了引發異常) – Mchl 2010-07-27 06:53:37

+0

ya ...當我嘗試提醒records.length時顯示爲零..這就是我想知道如何獲得更新的記錄 – mayuri 2010-07-27 07:05:23