Показать сообщение отдельно
  #9 (permalink)  
Старый 03.09.2013, 20:13
Новичок на форуме
Отправить личное сообщение для sergeyv Посмотреть профиль Найти все сообщения от sergeyv
 
Регистрация: 30.08.2013
Сообщений: 8

Здравствуйте,

опять затык

Решил по образу и подобию добавить ещё один пунктик меню, но на этот раз это должна быть панель, с двумя связанными гридами.

Методом проб и ошибок решил что ContentPanel стоит сделать Container'ом, а не Panel-ю
Ext.define('CM.view.ContentPanel', {
    extend: 'Ext.container.Container',
    //alias: 'widget.contentPanel',
    xtype: 'contentPanel',
    itemId: 'content',

    layout: 'fit',

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
            items: [
                {
                    xtype: 'partnerlist',
                    hidden: true,
                    itemId: 'partners'
                },
                {
                    xtype: 'userlist',
                    hidden: true,
                    itemId: 'users'
                },
                {
                    xtype: 'partnercontactslist',
                    hidden: true,
                    itemId: 'partnercontactslist'
                }
            ]
        });

        me.callParent(arguments);
    }
});


и панель с гридами у меня вот такая:

Ext.define('CM.view.partnercontact.List', {
    extend: 'Ext.panel.Panel',
    xtype: 'partnercontactlist',
    forceFit: true,
    title: '',

    layout: {
        align: 'stretch',
        type: 'vbox'
    },

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
            items: [
                {
                    xtype: 'partnerspanel'
                },
                {
                    xtype: 'partnercontacts'
                }
            ]
        });

        me.callParent(arguments);
    }
});


Ну и соответственно гриды. Главный:
Ext.define('CM.view.partnercontact.Partners', {
    extend: 'Ext.grid.Panel',
    xtype: 'partnerspanel',

    title: 'Partners',
    store: 'Partners',

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
            columns: [
                {
                    xtype: 'gridcolumn',
                    header: 'Name',
                    dataIndex: 'name',
                    flex: 1
                },
                {
                    xtype: 'gridcolumn',
                    header: 'Phone',
                    dataIndex: 'phone',
                    flex: 1
                },
                {
                    xtype: 'gridcolumn',
                    header: 'Fax',
                    dataIndex: 'fax',
                    flex: 1
                },
                {
                    xtype: 'gridcolumn',
                    header: 'Address',
                    dataIndex: 'address',
                    flex: 1
                }
            ]
        });

        me.callParent(arguments);
    }

});


и связанный
Ext.define('CM.view.partnercontact.Contacts', {
    extend: 'Ext.grid.Panel',
    xtype: 'partnercontacts',

    title: 'Related contacts',
    store: 'Contacts',

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
            columns: [
                {
                    xtype: 'gridcolumn',
                    header: 'Name',
                    dataIndex: 'name',
                    flex: 1
                },
                {
                    xtype: 'gridcolumn',
                    header: 'Phone',
                    dataIndex: 'phone',
                    flex: 1
                },
                {
                    xtype: 'gridcolumn',
                    header: 'Email',
                    dataIndex: 'email',
                    flex: 1
                },
                {
                    xtype: 'numbercolumn',
                    header: 'Partner ID',
                    dataIndex: 'partner_id',
                    flex: 0
                }
            ]
        });

        me.callParent(arguments);
    }

});


в MenuTreeStore вот такое добавил:

{
                        text: 'Partners/Contacts',
                        leaf: true,
                        icon: 'images/group_link.png',
                        id: 'partnercontactslist'
                    }


Но почему-то вообще всё ломается. Загружается только дерево навигации, ну и вообщем всё летит в тар тарары.

Комментирую в ContentPanel новую форму, всё возвращается на места и работает.

//                {
//                    xtype: 'partnercontactslist',
//                    hidden: true,
//                    itemId: 'partnercontactslist'
//                }


Отдельный котнроллер я под эту форму не создавал, потому как вообщем-то и так должно работать, вроде

Пните пожалуйста в нужном направлении.

Заранее спасибо за помощь.

С уважением,
Сергей
Ответить с цитированием