1

我尝试在 extjs4.2 中使用 itemSelector 但我不知道我可以配置两个商店。第一个多选面板由商店填充,第二个也有另一个。

我需要将变化保存在数据库中,因为我使用的存储是 ajax-proxy 数据存储。这是我的项目选择器:

{
    xtype: 'itemselector',
    id:'itemselector',
    name:'userRoles',
    anchor:'100%',
    store: dsRoles,
    toStore: dsUserRoles,
    valueField:'id',
    displayField:'name',
    /*here there is a problem*/
    value: dsUserRoles,
    msgTarget: 'side',
    fromTitle : 'Available',
    toTitle : 'Selected'
}

“选定字段”中的值来自查询,并且不像我找到的所有示例中那样是静态的。

编辑: toStore 属性不起作用,今天这个组件让我抓狂:当我加载包含 tabPanel 的窗口时,该窗口包含第二次的 itemselector,这就是渲染:使用 在此处输入图像描述 Chrome 我发现了这个错误Uncaught TypeError: Cannot read property 'internalId' of undefined

任何帮助都是有帮助的。

4

1 回答 1

1

问题已解决!我更改了源代码!(ItemSelector.js)在这里,

initComponent: function() {
    var me = this;

    me.ddGroup = me.id + '-dd';
    me.callParent();

    // bindStore must be called after the fromField has been created because
    // it copies records from our configured Store into the fromField's Store
    //me.bindStore(me.store);       //don't need to bind
},

createList: function(title, store){     //add a parameter named store
...
store: store,       //use the passed store
...
}
...
me.fromField = me.createList(me.fromTitle, me.store);
me.toField = me.createList(me.toTitle, me.toStore);
于 2013-05-16T10:33:06.783 回答