Показать сообщение отдельно
  #1 (permalink)  
Старый 22.11.2011, 22:43
Аспирант
Отправить личное сообщение для Bkmz_1_ Посмотреть профиль Найти все сообщения от Bkmz_1_
 
Регистрация: 03.12.2009
Сообщений: 56

Как создавать вкладки для Tab Panel в ExtJS 4
В ExtJS 3 я это делал так

// Новая вкладка
    new Ext.getCmp('content').add({
        title: 'Город ' + CityName,
        closable: true,
        xtype: 'form',
        items: [{
            layout: 'column',
            border: false,
            items:[{
                columnWidth: 0.5,
                layout: 'form',
                border: false,
                bodyStyle: 'padding:10px',
                items: [ TableGoods ]
            },{
                columnWidth: 0.5,
                layout: 'form',
                border: false,
                bodyStyle: 'padding:10px',
                items: [ TableService ]
            }]
        }]
    }).show();


А как мне это сделать в ExtJS 4 который построен на mvc

Я делаю так:

Ext.define('MyApp.controller.Wrapper', {
    extend: 'Ext.app.Controller',

    init: function() {
       this.control({
		'#button-select-city': {
                click: this.onGroups
            }
        });
    },

    onGroups: function() {
        this.getComponent('content').add({
            title: 'Город',
            closable: true,
            xtype: 'form',
            items: [{
               // наш шаблончик, чтобы xtype его видел в шаблончике надо задать параметр alias : 'widget.tab-groups'
               xtype: 'tab-groups'
            }]
       }).show();
    }    

});

Шаблончик view который надо вставить приклике на кнопку.

Ext.define('MyApp.view.tab-groups', {
    extend: 'Ext.panel.Panel',
    alias : 'widget.tab-groups',
    layout: 'column',
    border: 0,
    initComponent: function() {
        this.items = [
            {
                xtype: 'gridpanel',
                itemId: 'grid-goods',
                padding: '10px 5px 10px 10px',
                title: 'Товары',
                store: 'Good',
                columnWidth: 0.5,
                columns: [
                    {
                        dataIndex: 'name',
                        flex: 1,
                        text: 'Товары'
                    },
                    {
                        width: 50,
                        dataIndex: 'count',
                        text: '№'
                    }
                ]
            },
            {
                xtype: 'gridpanel',
                itemId: 'grid-services',
                padding: '10px 10px 10px 5px',
                title: 'Услуги',
                store: 'Service',
                columnWidth: 0.5,
                height: 585,
                columns: [
                    {
                        dataIndex: 'name',
                        flex: 1,
                        text: 'Услуги'
                    },
                    {
                        width: 50,
                        dataIndex: 'count',
                        text: '№'
                    }
                ]
            }
        ];
        this.callParent(arguments);
    }
});


Как мне эти два файлика привентить?

Последний раз редактировалось Bkmz_1_, 02.12.2011 в 04:06.
Ответить с цитированием