ExtJS的。设置划船单元格值

时间:2014-06-24 15:40:59

标签: extjs

我有一个带有RowEditing插件的网格。 编辑器有两列:一列有组合框,另一列有禁用文本字段。

我需要在更改组合框值后更改文本字段值。

我有组合框听众:

listeners = {
       select: function (combo, records) {
            var editorRecord = myGrid.getPlugin('rowEditPlugin').editor.getRecord();
            editorRecord.data["SomeCol"] = "SomeValue";
       }
}

但是,在另一次调用roweditor之前,textfield中的值不会刷新。

我只需要将文本值设置为单元格,而无需更新存储。而且如果我点击roweditor的取消按钮,我需要将单元格值返回到旧单元格。

感谢您的时间,所有回复和所有帮助。

1 个答案:

答案 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