将网格面板添加到选项卡面板的第一个选项卡

时间:2012-07-01 08:35:33

标签: extjs extjs4 sencha-touch extjs4.1

我有一个正常运行的GRID。现在我需要将此GRID添加到第一个选项卡面板。我怎么能这样做?

我的代码:

GRID.JS

Ext.create('Ext.grid.Panel', {
    xtype:'grid',
    title: 'Simpsons',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [
        { header: 'Name',  dataIndex: 'name' },
        { header: 'Email', dataIndex: 'email', flex: 1 },
        { header: 'Phone', dataIndex: 'phone' }
    ],
    height: 200,
    width: 400,
    renderTo: Ext.getBody()
});

TAB.JS

Ext.create('Ext.tab.Panel', {
    width: 300,
    height: 200,
    activeTab: 0,
    items: [
        {
            title: 'Tab 1',
            xtype:'grid'
        },
        {
            title: 'Tab 2',
            html : 'Another one'
        }
    ],
    renderTo : Ext.getBody()
});

我在GRID.JS中添加了xtype:grid,我试图在第一个选项卡中从TAB.JS访问该网格,但它没有显示。

1 个答案:

答案 0 :(得分:10)

xtype: 'grid' - 表示create standard Ext.grid.Panel and add it here

您有两种选择:

创建网格并将其保存到变量中。

var _grid = Ext.create('...', {...});

Ext.create('Ext.tab.Panel', {
    ...
    items: [
       _grid
    ]
});

或者,使用新的xtype

定义您自己的课程
Ext.define('MyGrid', {
   extend: 'Ext.grid.Panel',
   alias: 'widget.mygrid',
   ... 

});

Ext.create('Ext.tab.Panel', {
    ...
    items: [{
       xtype: 'mygrid'
    }]
});