我有网格和rowediting插件...所以我需要获取首次编辑的记录,当插件启用并显示时,网格中的其他记录点击进行编辑... 也许一些' oneditchange'事件,但我发现文档中没有这样的内容。或者只是阻止编辑这个clicktomoveedit可能性
答案 0 :(得分:1)
编辑(编辑,e,eOpts) 编辑单元格后触发。用法示例:
grid.on('edit', function(editor, e) {
e.record.commit();
console.log(e.value); // the value you want
});
<强>参数强>
编辑:Ext.grid.plugin.CellEditing
e:对象 具有以下属性的编辑事件:
网格 - 网格 record - 已编辑的记录
字段 - 已编辑的字段名称
value - 设置的值 //您想要的值
originalValue - 编辑前字段的原始值。
row - 网格表行
column - 定义已编辑列的网格列。
rowIdx - 已编辑的行索引
colIdx - 已编辑的列索引
eOpts:Object
传递给Ext.util.Observable.addListener的选项对象。
覆盖:Ext.grid.plugin.Editing.edit
答案 1 :(得分:1)
为了防止在新版本期间选择其他网格记录,这可以提供帮助
enableEditingProtection: true,
skippingEditingProtection: false,
editingPhantomRecord: false,
initComponent: function() {
var me = this;
me.on('beforeedit', me.onBeforeEdit);
me.on('beforeselect', me.onBeforeSelect);
me.callParent(arguments);
},
skipEditingProtection: function() {
this.skippingEditingProtection = true;
},
onBeforeEdit: function(editor, context) {
if (this.enableEditingProtection &&
!this.skippingEditingProtection &&
editor.editing &&
this.editingPhantomRecord
) {
return false;
}
this.getSelectionModel().select(context.record);
this.editingPhantomRecord = context.record.phantom;
this.skippingEditingProtection = false;
return true;
},
onBeforeSelect: function() {
return !this.enableEditingProtection ||
!this.getPlugin('row-editor') ||
!(this.getPlugin('row-editor').editing && this.editingPhantomRecord);
}