1

这是我的代码:

{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_p”的值...我该怎么做?谢谢...

4

2 回答 2

0

你可以去,

  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'
        })
于 2012-11-23T13:42:55.400 回答
0

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

假设您有两个组合框:

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需要唯一)

SetParam( Ext.getCmp('CBP').getValue() + Ext.getCmp('CBKB').getValue() );

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

 this.up('form').down('combobox').getValue();
于 2012-11-23T14:55:26.903 回答