ExtJS Rally App Tabpanel每个标签的新网格

时间:2017-06-26 20:09:22

标签: extjs grid rally tabpanel

这让我疯了..我想在每个面板上添加一个网格,作为测试,我创建了两个商店,两个网格和一个tabpanel ..

我可以加载数据,第一个选项卡完美显示网格,第二个显示gris但没有行。然而,它确实显示了一个计数,它加起来在分页旁边的商店..

只是试图让PoC工作,因此无休止的可重复功能......

extractOnly

1 个答案:

答案 0 :(得分:2)

所以我很确定这是ExtJS中的一个错误。选项卡面板上有一个deferredRender配置标志,默认情况下为true,仅在初始加载时呈现活动选项卡的内容。然而,当稍后切换标签时,它似乎没有正确地重新启用各种商店/网格视图事件,因此整个第二个网格都被破坏了。

我通过关闭它来修复它。这是我的应用程序所做的修复,并对您的组件/容器结构进行了一些清理和重复数据删除:

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

    launch: function () {
        this.add({
            xtype: 'tabpanel',
            deferredRender: false, //BUG FIX HERE!
            items: [
                {
                    title: 'Risks',
                    xtype: 'rallygrid',
                    storeConfig: {
                        model: 'PortfolioItem',
                        filters: [{
                            property: 'c_RAIDType',
                            operation: '=',
                            value: 'Risk'
                        }],
                        fetch: ['FormattedID', 'Name', 'c_RAIDType'],
                    },
                    columnCfgs: ['FormattedID', 'Name'],
                },
                {
                    title: 'Issues',
                    xtype: 'rallygrid',
                    storeConfig: {
                        model: 'PortfolioItem',
                        filters: [{
                            property: 'c_RAIDType',
                            operation: '=',
                            value: 'Issue'
                        }],
                        fetch: ['FormattedID', 'Name', 'c_RAIDType'],
                    },
                    columnCfgs: ['FormattedID', 'Name'],
                }
            ]
        });
    }
});