在网格上强制更改事件

时间:2014-03-04 12:16:55

标签: extjs extjs3

我们在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) {
                ........
            }
         }
      })

}

我们遇到这样一种情况,即当用户提交表单时,如果焦点仍在编辑器/列中,则编辑器的更改事件不会被触发。
这会导致为该特定列提交陈旧数据 在这种情况下,我们如何强制让gridpanel / column / editor注册/接受更改后的值?

1 个答案:

答案 0 :(得分:0)

我假设你使用EditorGridPanel?如果是这样,可能会附加到它的afteredit事件:

enter image description here

Config看起来像这样:

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