基于另一个组合在 ExtJs 中的 EditableGrid 中设置组合框的存储

Posted

技术标签:

【中文标题】基于另一个组合在 ExtJs 中的 EditableGrid 中设置组合框的存储【英文标题】:setting the store of a combobox in EditableGrid in ExtJs based on another combo 【发布时间】:2011-07-01 06:26:26 【问题描述】:

我正在使用 ext 设计器。 (扩展版本 3.x) 我有一个带有 autoref 'worker_type' 的表单组合

然后有一个可编辑的网格,用于添加员工

如图所示,网格有一个员工选择组合

我想根据“worker_type”选择更改此组合的存储。 我的目标是仅列出某种工人类型的员工。

但无论如何我都无法访问代码中的可编辑网格组合框。

我们将不胜感激。

谢谢

【问题讨论】:

这可能会有所帮助:***.com/questions/3980796/… 【参考方案1】:

为您的第一个组合放置一个选择侦听器,并在选择一个值时加载第二个组合的数据存储。有点这样:

var firstCombo = new Ext.form.ComboBox(
    mode : 'local',
    store : firstStore,
    ......
    listeners : 
        scope : this,
        select : function(combo)
            // Here load the "secondStore" with selected combo value
            // Combo value is combo.getValue()
        
    

);


var secondCombo = new Ext.form.ComboBox(
    mode : 'local',
    store : secondStore,
    ......
);

【讨论】:

Ext-designer 最终会为您提供一套代码。如果您想要一些自定义功能,则必须进入代码内部。设计师只会创建界面,不会创建任何复杂的功能。 ext desginer 创建两组代码文件。 ui.js 和 .js,ui 文件会在任何微小的变化时重新生成,这就是这段代码所属的地方 :(,所以你看到了我的问题,.js 文件无法创建组合框并插入可编辑网格。我无法设置监听器由于这个原因,生成文件中的组合。

以上是关于基于另一个组合在 ExtJs 中的 EditableGrid 中设置组合框的存储的主要内容,如果未能解决你的问题,请参考以下文章

如何将选定的 extjs 组合值设置为另一个组合框

EXTjs 操作组合框中显示的数据

加载后,Extjs 在组合框存储中添加选项

组合框 Extjs 中的 fieldLabel

ExtJS:EditorGrid 中的多选组合

extjs 表单元素中的 Extjs 组合框在禁用时未灰显