我有一个带有RowEditing插件的网格.编辑器有两列:一列有组合框,另一列有禁用文本字段.
我需要在更改组合框值后更改文本字段值.
我有combobox听众:
listeners = {
select: function (combo, records) {
var editorRecord = myGrid.getPlugin('rowEditPlugin').editor.getRecord();
editorRecord.data["SomeCol"] = "SomeValue";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在另一次调用roweditor之前,textfield中的值不会刷新.
我只需要将文本值设置为单元格,而无需更新存储.而且如果我点击roweditor的取消按钮,我需要将单元格值返回到旧单元格.
感谢您的时间,所有回复和所有帮助.
您可以使用网格的选择模型更改它,如下所示:
{
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'
}
}
Run Code Online (Sandbox Code Playgroud)
你必须在update上提交更改.所以你可以调用edit事件监听器,
listeners: {
edit: function(editor, e) {
e.record.commit();
}
},
Run Code Online (Sandbox Code Playgroud)
作为参考,请看一下这个DEMO
| 归档时间: |
|
| 查看次数: |
3640 次 |
| 最近记录: |