我有一个带有RowEditing插件的网格。 编辑器有两列:一列有组合框,另一列有禁用文本字段。
我需要在更改组合框值后更改文本字段值。
我有组合框听众:
listeners = {
select: function (combo, records) {
var editorRecord = myGrid.getPlugin('rowEditPlugin').editor.getRecord();
editorRecord.data["SomeCol"] = "SomeValue";
}
}
但是,在另一次调用roweditor之前,textfield中的值不会刷新。
我只需要将文本值设置为单元格,而无需更新存储。而且如果我点击roweditor的取消按钮,我需要将单元格值返回到旧单元格。
感谢您的时间,所有回复和所有帮助。
答案 0 :(得分:5)
您可以使用网格的选择模型进行更改,如下所示:
{
text: 'Type',
dataIndex: 'type',
editor: {
xtype: 'combo',
typeAhead: true,
selectOnTab: true,
displayField:"name",
listeners: {
select: function(combo, records) {
myGrid= this.up('grid');
var selectedModel = this.up('grid').getSelectionModel().getSelection()[0];
//selectedModel.set('dataIndexOfNextCol', "Success");
val = combo.getValue();
if(val == 'type1'){
Ext.getCmp('textFld').setValue("success");
}
else{
Ext.getCmp('textFld').setValue("failure");
}
}
},
{
text: 'Item',
dataIndex: 'item',
editor: {
xtype: 'textfield',
id: 'textFld'
}
}
您必须在update上提交更改。您可以调用edit
事件侦听器
listeners: {
edit: function(editor, e) {
e.record.commit();
}
},
供参考,请查看此DEMO