Extjs 3.4:从其他可编辑字段获取值

Extjs 3.4:从其他可编辑字段获取值,extjs,combobox,datagridcomboboxcolumn,Extjs,Combobox,Datagridcomboboxcolumn,这是我的密码: {header: "Kabupaten", width: 60, sortable: true, dataIndex: 'id_k', renderer: function(value, metaData, record, rowIndex, colIndex, store) { return rend_kab(value); }, editor: new Ext.form.ComboBox({

这是我的密码:

{header: "Kabupaten", width: 60, sortable: true, dataIndex: 'id_k',
        renderer: function(value, metaData, record, rowIndex, colIndex, store) {
            return rend_kab(value);
        },
        editor: new Ext.form.ComboBox({
            listeners: {
                beforequery: function(qe){
                qe.combo.store.setBaseParam('id_p', "VALUE FROM THE OTHER FIELD");
                }, 
                scope:this
            },
            store : kab,
            valueField: 'id_k',
            displayField: 'nm_kb',
            triggerAction: 'all'
        })
    },
    {header: "Provinsi", width: 60, sortable: true, dataIndex: 'id_p',
        renderer: function(value, metaData, record, rowIndex, colIndex, store) {
            return rend_prov(value);
        },
        editor: new Ext.form.ComboBox({
            store : prov,
            valueField: 'id_p',
            displayField: 'nm_p',
            triggerAction: 'all'
        })
    }
请参阅文本“来自其他字段的值”,我希望它更改为同一行中字段“id\u p”的值。。。 我该怎么做? 谢谢…

你可以一起去

  editor: new Ext.form.ComboBox({
            listeners: {
                beforequery: function(qe){
//If you have checkbox selection model then 
// to get rowIndex need to catch row in which combobox is present. using 
//this.parent.getSelectionModel().getSelected()
                    qe.combo.store.setBaseParam('id_p', gridStore.getAt(rowIndex).get("id_p"));

                }, 
                scope:this
            },
            store : kab,
            valueField: 'id_k',
            displayField: 'nm_kb',
            triggerAction: 'all'
        })

您可以通过不同的方式访问组件/变量:

假设您有两个组合框:

var ComboBoxP = Ext.create('Ext.form.ComboBox',{
        id: 'CBP', //used for example 2
        valueField: 'id_p',
        displayField: 'nm_p'
});

var ComboBoxKB = Ext.create('Ext.form.ComboBox',{
        id: 'CBKB', //used for example 2
        valueField: 'id_k',
        displayField: 'nm_kb',
});
1) 只需使用变量

SetParam( ComboBoxP.getValue() + ComboBoxKB.getValue() );
2) 使用id和getComponent(简称getCmp,这不是推荐的方法,因为id需要是唯一的)

3) 在父容器中查找组件。对于这种方法,你需要在你的应用程序中有一个良好的结构,并且对上/下选择器有很好的了解

 this.up('form').down('combobox').getValue();

但是当我打开另一个“id_k”组合时,“id_p”就要关闭了。。。使其变为普通文本…当组合框关闭时,您仍然可以检索所选的值。。如果您需要其他值,可以访问您的存储。
 this.up('form').down('combobox').getValue();