ExtJS从其他combobox所选记录填充combobox

ExtJS从其他combobox所选记录填充combobox,extjs,extjs4,extjs4.1,extjs4.2,extjs-mvc,Extjs,Extjs4,Extjs4.1,Extjs4.2,Extjs Mvc,(ExtJS 4.2.1) 我有两个组合框,用于搜索员工 一个按员工编号搜索员工,另一个按姓名搜索员工: 这是两个组合框共享的存储: var cboEmployeeStore = Ext.create('App.store.employee.EmployeeCombo'); cboEmployeeStore.getProxy().extraParams = { employerId: 0 }; xtype: 'combobox', itemId: 'cboEmployeeNum

(ExtJS 4.2.1) 我有两个
组合框
,用于搜索员工

一个按员工编号搜索员工,另一个按姓名搜索员工:

这是两个组合框共享的存储:

var cboEmployeeStore = Ext.create('App.store.employee.EmployeeCombo');
cboEmployeeStore.getProxy().extraParams = {
    employerId: 0
};
xtype: 'combobox',
    itemId: 'cboEmployeeNumber',
    width: 180,
    store: cboEmployeeStore,
    cls: 'arigth',
    displayField: 'EmployeeNumber',
    valueField: 'EmployeeId',
    queryMode: 'remote',
    fieldLabel: 'Clave',
    editable: true,
    hideTrigger: true,
    queryParam: 'searchStr',
    name: 'EmployeeNumber',
    allowBlank: false,
    minChars: 3,
    listConfig: {
        loadingText: 'Searching...',
        minWidth: 300,
        // Custom rendering template for each item
        getInnerTpl: function () {
            return '<b>{EmployeeNumber}</b> / {FullName}';
        }
    }

xtype: 'combobox',
    itemId: 'cboEmployee',
    width: 400,
    store: cboEmployeeStore,
    cls: 'arigth',
    displayField: 'FullName',
    valueField: 'EmployeeId',
    queryMode: 'remote',
    fieldLabel: 'Employee',
    editable: true,
    hideTrigger: true,
    queryParam: 'searchStr',
    name: 'EmployeeId',
    allowBlank: false,

    listConfig: {
        loadingText: 'Searching...',
        // Custom rendering template for each item
        getInnerTpl: function () {
            return '<b>{EmployeeNumber}</b> / {FullName}';
        }
    }
这些是我的组合框:

var cboEmployeeStore = Ext.create('App.store.employee.EmployeeCombo');
cboEmployeeStore.getProxy().extraParams = {
    employerId: 0
};
xtype: 'combobox',
    itemId: 'cboEmployeeNumber',
    width: 180,
    store: cboEmployeeStore,
    cls: 'arigth',
    displayField: 'EmployeeNumber',
    valueField: 'EmployeeId',
    queryMode: 'remote',
    fieldLabel: 'Clave',
    editable: true,
    hideTrigger: true,
    queryParam: 'searchStr',
    name: 'EmployeeNumber',
    allowBlank: false,
    minChars: 3,
    listConfig: {
        loadingText: 'Searching...',
        minWidth: 300,
        // Custom rendering template for each item
        getInnerTpl: function () {
            return '<b>{EmployeeNumber}</b> / {FullName}';
        }
    }

xtype: 'combobox',
    itemId: 'cboEmployee',
    width: 400,
    store: cboEmployeeStore,
    cls: 'arigth',
    displayField: 'FullName',
    valueField: 'EmployeeId',
    queryMode: 'remote',
    fieldLabel: 'Employee',
    editable: true,
    hideTrigger: true,
    queryParam: 'searchStr',
    name: 'EmployeeId',
    allowBlank: false,

    listConfig: {
        loadingText: 'Searching...',
        // Custom rendering template for each item
        getInnerTpl: function () {
            return '<b>{EmployeeNumber}</b> / {FullName}';
        }
    }
xtype:'combobox',
itemId:'cboEmployeeNumber',
宽度:180,
门店:cboEmployeeStore,
cls:“arigth”,
显示字段:“EmployeeNumber”,
valueField:“EmployeeId”,
queryMode:'远程',
字段标签:“Clave”,
是的,
希德崔格:没错,
queryParam:'searchStr',
姓名:'EmployeeNumber',
allowBlank:false,
明查斯:3,
列表配置:{
loadingText:“正在搜索…”,
最小宽度:300,
//每个项目的自定义渲染模板
getInnerTpl:函数(){
返回“{EmployeeNumber}/{FullName}”;
}
}
xtype:“组合框”,
itemId:“cboEmployee”,
宽度:400,
门店:cboEmployeeStore,
cls:“arigth”,
displayField:'全名',
valueField:“EmployeeId”,
queryMode:'远程',
fieldLabel:“员工”,
是的,
希德崔格:没错,
queryParam:'searchStr',
姓名:'EmployeeId',
allowBlank:false,
列表配置:{
loadingText:“正在搜索…”,
//每个项目的自定义渲染模板
getInnerTpl:函数(){
返回“{EmployeeNumber}/{FullName}”;
}
}
两者都使用同一个商店。这些存储是远程的,所以在您键入后,存储将由服务器的结果填充

我需要的是,如果我在
cboEmployeeNumber
组合框中搜索,然后选择一个值,那么我的
cboEmployee
应该会得到相同的记录。如果我在
cboEmployee
中搜索,情况也是一样的


有什么提示吗?

听听组合框上的select事件。当它被激发时,让它更新另一个组合框


注意不要在循环中触发事件

我有一些线索可以帮助你,但是你自己试过什么呢?我试过:me.getEmployeeCombo.setValue(record.get('EmployeeId');但是我怎样才能更新它呢?我的意思是两个都使用同一个存储区,我会自动加载存储区。为什么有两个组合框?如果只有一个组合框,可以同时按姓名和id进行搜索,那不是更好吗?这就是为什么我以。只有一个选项可以按两种类型的数据进行搜索。