我正在使用Extjs 4.2,所以我有一个带有rowediting插件的网格。一切正常,我想知道如何更新一个字段值,具体取决于另一个字段。我的意思是,例如,如果在我的网格中我有field1和field2,当需要更改其中一个时,我需要使用field3
+ field1
值更新field2
值。通常使用jquery我们可以为每个字段编写一个更改事件,但是我如何在rowediting事件上执行此操作?
这可能吗?
答案 0 :(得分:2)
您可以使用edit
的{{1}}个事件,如下所示:
Sencha Fiddle:Grid RowEditor - Change cell value based on condition
rowedit
答案 1 :(得分:0)
使用RowEditor时,e.field值完全取决于单击以编辑行的字段。
说明问题:
也就是说,行编辑器会将您单击的字段视为已编辑字段。这没有意义,因为它是一个“行”编辑器,很可能用于编辑行中的多个字段。
要获取仅修改字段的列表,请使用e.record.getChanges()
。这些只会为您提供修改后的字段及其新值。
答案 2 :(得分:0)
您必须向列中添加编辑器,编辑器就像任何组件,具有侦听器,类型等,然后添加更改侦听器
实施例: ...
{
header: 'HeaderName',
dataIndex: 'man_peso',
type: 'number',
width: 50,
editor: {
enableKeyEvents: true,
listeners: {
change: function(c, e, eOpts) {
//here you can modify others components
}
},
xtype: 'textfield',
maskRe: /[0-9\.]/,
maxLength: 16
},
...