網格

2014-03-04 75 views
0

強制更改事件我們在ExtJS的3.2 GridPanel中,與文本字段上的一列編輯:網格

var psp_config= { 
store:ProjectSponsorView.s_store, 
..... 
tbar: new Ext.Toolbar({  
... 
}), 
...... 
columns: [ 
.... 
{header: '% Contribution', 
    renderer: Ext.util.Format.numberRenderer('000.00'), 
    editor: new Ext.form.TextField({ 
     listeners: { 
      'change' : function (field, newValue, oldValue) { 
       ........ 
      } 
     } 
     }) 

} 

我們有一個情況,其中德主編的改變事件沒有得到如果用戶提交表單,則焦點仍在編輯器/列內。
這會導致爲該特定列提交陳舊數據。
在這種情況下,我們如何強制讓網格面板/列/編輯器註冊/接受更改的值?

+0

爲什麼不使用'fireEvent手動觸發事件( '變',...) '? – Patrick

回答

0

我認爲你使用EditorGridPanel?如果是這樣,也許重視其afteredit事件:

enter image description here

配置會是這個樣子:

...... 
columns: [ 
.... 
    { 
    header: '% Contribution', 
    renderer: Ext.util.Format.numberRenderer('000.00'), 
    editor: new Ext.form.TextField({}) 
    } 
], 
listeners: { 
    afteredit: function(e) { 
    //handle changes here 
    } 
} 
+0

這正是我們所做的。 – IUnknown