添加新汇总后刷新rallycombobox

时间:2013-08-05 17:23:42

标签: rally

我有一个配置为在当前范围内显示Rollups的rallycombobox:

App.down('#associateWith').add({
    xtype          : 'rallycombobox',
    fieldLabel     : 'Dropdown',
    id             : 'association',
    allowNoEntry   : true,
    storeConfig    : {
        autoLoad       : true,
        model          : 'PortfolioItem/Rollup'
    }
});

这个应用程序还有一个addnew组件,允许用户添加一个新的PortfolioItem / Rollup - 如果他们添加一个新组件,那么我想刷新这个组合框以将该汇总作为一个选项。我无法找到在API文档中刷新组合框的方法,所以我正在做混乱的版本 - 这涉及经常创建和销毁组合框。

我尝试过:

setStoreConfig(...);

但这似乎根本没有刷新数据。如何在不破坏和重新创建的情况下实现这一目标?

1 个答案:

答案 0 :(得分:4)

最简单的方法是挂钩AddNew的create事件。它将为您提供新创建的Rollup的记录,然后您可以将其放在ComboBox的商店中

Ext.define('CustomApp', {
    extend: 'Rally.app.App',
    componentCls: 'app',

    launch: function() {
        this.combobox = this.add({
            xtype: 'rallycombobox',
            allowNoEntry: true,
            storeConfig: {
                autoLoad: true,
                model: 'PorfolioItem/Rollup'
            }
        });
        this.add({
            xtype: 'rallyaddnew',
            recordTypes: ['PortfolioItem/Rollup'],
            listeners: {
                create: this._onCreate,
                scope: this
            }
        });

    },

    _onCreate: function(addNew, record) {
        this.combobox.getStore().add(record);
    }
});