如何在Multiselect组合框中动态选择值 - LovCombo ExtJS 3.2

时间:2013-03-22 08:14:27

标签: javascript extjs combobox

我在ExtJS 3.2中使用lovcombo。我获取初始加载组合框的数据,我正确地得到它。但是现在我有一个要求,最初我说在组合框中有10个条目(选项),我需要动态选择5个选项。实际上我用它来显示依赖实体映射。意味着一个实体依赖于许多其他实体,因此在多选组合框中显示它们。当我获得root实体时,我需要为我的根实体获取依赖实体,因此我将在组合框中动态选择这些条目。这是我的代码 -

{
    xtype: 'lovcombo',
    fieldLabel: 'data Requirement ',
    store: dep_req_store,
    displayField: 'text',
    valueField: 'value',
    mode: 'local',
    emptyText: 'Select Requirement...',
    triggerAction: 'all',
    name: 'data_id',
    id: 'data_id' + idSuf,
    hiddenName: 'reqIdHid3',
    width: 200,
    forceSelection: true,
    editable: true,
    hideOnSelect: false,
    beforeBlur: Ext.emptyFn,
}

我将在加载后迭代此组合的每个元素,并将选择必要的选项:

Ext.getCmp('data_id' + idSuf).getStore().data.items.each(function(record) {
    record.dirty = true; //I tried this but no success.
});

另外,我没有找到任何可以帮助我选择选项的属性:

record.selected = true 

所以,请帮助我。是否有可能使用lovcombo实现这一目标?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在记录的字段定义中,您可以创建一个名为checked的新字段,默认情况下,此字段由lovcombo用于存储记录的已检查状态

fields: [
    ...
    {name: 'checked',  type: 'boolean'},
    ....
]

如果您想在加载后检查任何记录,只需执行

record.set('checked', true);

Reference: