ExtJS Rally应用程序选项卡面板每个选项卡新建网格

ExtJS Rally应用程序选项卡面板每个选项卡新建网格,extjs,grid,rally,tabpanel,Extjs,Grid,Rally,Tabpanel,这快把我逼疯了。。我想为每个面板添加一个网格,作为测试,我创建了两个存储区、两个网格和一个tabpanel 我可以获取要加载的数据,第一个选项卡完美地显示网格,第二个选项卡显示GRI,但没有行。但是,它确实显示一个计数,该计数与分页旁边底部的存储相加 只是想让一个PoC工作,因此有无数可重复的功能 Ext.define('CustomApp'{ 扩展:“Rally.app.app”, 组件CLS:“应用程序”, 启动:函数(){ this.myGrid_Issue=null; this.myG

这快把我逼疯了。。我想为每个面板添加一个网格,作为测试,我创建了两个存储区、两个网格和一个tabpanel

我可以获取要加载的数据,第一个选项卡完美地显示网格,第二个选项卡显示GRI,但没有行。但是,它确实显示一个计数,该计数与分页旁边底部的存储相加

只是想让一个PoC工作,因此有无数可重复的功能

Ext.define('CustomApp'{
扩展:“Rally.app.app”,
组件CLS:“应用程序”,
启动:函数(){
this.myGrid_Issue=null;
this.myGrid_Risk=null;
这个。_存储_风险();
},
_门店风险:功能(id){
var myFilter_risk=Ext.create('Rally.data.wsapi.Filter'{
属性:“c_RAIDType”,
操作:'=',
价值:“风险”
});
控制台日志(“过滤器风险”,myFilter\u风险);
var store_Risk=Ext.create('Rally.data.wsapi.store',{//create
型号:“PortfolioItem”,
极限:无限,
自动加载:对,
过滤器:myFilter_风险,
获取:['FormattedID','Name','c_RAIDType'],
});
控制台日志(“门店风险”,门店风险);
var myGrid_Risk=Ext.create('Ext.container.container'{
项目:[{
xtype:“rallygrid”,
型号:“PortfolioItem”,
门店:门店风险,
高度:“100%”,
columnCfgs:['FormattedID','Name'],
}],
});
console.log(“电网风险”,myGrid_风险);
var myFilter_Issue=Ext.create('Rally.data.wsapi.Filter'{
属性:“c_RAIDType”,
操作:'=',
价值:“问题”
});
console.log(“过滤器问题”,myFilter\u问题);
var store_Issue=Ext.create('Rally.data.wsapi.store',{//create
型号:“PortfolioItem”,
极限:无限,
自动加载:对,
过滤器:myFilter_问题,
获取:['FormattedID','Name','c_RAIDType'],
});
console.log('Store Issue',Store_Issue);
var myGrid_Issue=Ext.create('Ext.container.container'{
项目:[{
xtype:“rallygrid”,
型号:“PortfolioItem”,
商店:商店发行,
高度:“100%”,
columnCfgs:['FormattedID','Name'],
}],
});
console.log(“网格问题”,myGrid_问题);
var output=Ext.create('Ext.TabPanel'{
项目:[{
标题:“风险”,
项目:[
myGrid_风险
]
}, {
标题:"问题",,
项目:[
myGrid_问题
]
}]
});
这个。添加(输出);
},

});所以我很确定这是ExtJS中的一个bug。选项卡面板上有一个默认为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'],
                }
            ]
        });
    }
});

好的,我试过几种方法,但仍然得到相同的错误。。例如,单个函数将类型作为参数,两个网格都工作,但执行相同的操作。。。。它偶尔会工作,但只要我刷新浏览器,它就会失败,这真的很奇怪。这是一个难解之谜。你的代码一点问题也没有。感觉像是gridview中某个地方的缺陷。它不渲染任何内容的原因是因为第二个网格认为它没有任何列,但我还没有深入了解原因…你搞定了,凯尔。。荣誉延期:假谢谢。。我退出!