这是我的代码:
{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'更改为值... 我怎样才能做到这一点? 感谢...
答案 0 :(得分: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'
})
答案 1 :(得分: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)在Parent容器中查找组件。对于这种方法,您需要在应用程序中使用良好的结构并熟悉上/下选择器。
this.up('form').down('combobox').getValue();