【问题标题】:ExtJS populate combobox from other combobox selected recordExtJS 从其他组合框选定的记录中填充组合框
【发布时间】:2014-07-11 15:53:20
【问题描述】:

(ExtJS 4.2.1) 我有两个combobox 用于搜索员工。

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

这是两个组合框共享的商店:

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}';
        }
    }

两者都使用同一家商店。商店是远程的,因此在您键入后,商店将被服务器的结果填充。

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

有什么办法吗?

【问题讨论】:

  • 我知道该怎么做,但你自己试过什么?
  • 我试过了:me.getEmployeeCombo.setValue(record.get('EmployeeId'));

标签: extjs extjs4 extjs4.1 extjs4.2 extjs-mvc


【解决方案1】:

监听组合框上的选择事件。当它被触发时,它会更新另一个组合框。

注意不要循环触发事件。

【讨论】:

  • 但是如何更新呢?我的意思是两者都使用同一个商店,我动态加载商店。
  • 为什么有两个组合框?只有一个允许按名称和 id 搜索的组合框不是更好吗?
  • 这就是我结束的原因。只有一个可以选择按两种类型的数据进行搜索。
猜你喜欢
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多