extjs 4在MVC中重用网格,行消失

时间:2012-09-05 06:36:33

标签: extjs grid store

我的ext JS应用程序中存在问题。使用MVC架构:

    Ext.define('ME.controller.Stocks', {
    extend:'Ext.app.Controller',
    models:[
        'Logs'
    ],
    stores:[

        'Logs'

    ],
    views:[
        'portal.portalItems.logGridPanel.LogGridPanel',
        'portal.portalItems.logGridPanel.LogGrid',
        'portal.PortalPanel',
        'portal.PortalDropZone',
        'portal.PortalColumn',
        'portal.Portlet',
        'portal.portalItems.base.Panel',  
    ]
});

名称为“LogGrid”的组件动态添加到视口。它的initcomponent函数如下所示:

initComponent: function()
    {
        var me=this;
var store=  Ext.create('ME.store.Logs', {
            storeId:Utils.formUID(LOGS_GRID.LOGS_STORE_ID, me[FIELDS_MAPPER.BASE_PANEL.CLIENTSIDE_GUID]),
            sorters:[
                {
                    property:FIELDS_MAPPER.LOGS_GRID.LOG_DATE,
                    direction:'DESC'
                }
            ]
        });
        this.store=store;
        this.columns=[
        {
            text:Message.get('console.portal.logGrid.DateHeaderText'),
            dataIndex:FIELDS_MAPPER.LOGS_MODEL.LOG_DATE,
            renderer:Ext.util.Format.dateRenderer('H:i:s<br>d.m.Y')
        },
        {
            text:Message.get('console.portal.logGrid.DepartmentHeaderText'),
            dataIndex:FIELDS_MAPPER.LOGS_MODEL.DEPARTMENT_NAME

        },
        {
            text:Message.get('console.portal.logGrid.ProtectionSystemsHeaderText'),
            dataIndex:FIELDS_MAPPER.LOGS_MODEL.PROTECTION_SYSTEM_NAME
        },
        {
            text:Message.get('console.portal.logGrid.PlanHeaderText'),
            dataIndex:FIELDS_MAPPER.LOGS_MODEL.PLAN_NAME
        },
        {
            text:Message.get('console.portal.logGrid.SourceHeaderText'),
            dataIndex:FIELDS_MAPPER.LOGS_MODEL.SECTION_NAME
        },
        {
            text:Message.get('console.portal.logGrid.MessageTextHeaderText'),
            dataIndex:FIELDS_MAPPER.LOGS_MODEL.EVENT_TYPE_NAME,
            minWidth:200
        },
        {
            dataIndex:FIELDS_MAPPER.LOGS_MODEL.EVENT_STATE_NAME,
            text:Message.get('console.portal.logGrid.StateHeaderText')
            //  renderer:changeStateColor
        }
    ];

        me.callParent(arguments);
    }

日志存储是:

Ext.define('ME.store.Logs', {
    extend:'Ext.data.Store',
    model:'ME.model.Logs',
    proxy:{
        type:'ajax',
        url:URLS.JOURNAL_CONTROLLER,
        extraParams:{action:'getEvents'},
        actionMethods:{
            read:'POST'
        },
        reader:{
            type:'json',
            idProperty:FIELDS_MAPPER.LOGS_GRID.LOG_ID
        },
        autoLoad:false
    },
    pageSize:LOGS_GRID.ITEMS_PER_PAGE
});

问题是:

当我有一个网格实例时,一切正常,但是当我添加新的网格实例时,行(选择模型)从两个网格中消失。当我折叠网格时也会出现这样的错误。 如果它有用,则网格组件位于不同的面板中。

我也看到了这样的事情: 当我在一个容器中使用不同存储的网格创建LogsGrid时,也会出现这样的错误,但是现在来自logGrid的行移动到另一个网格..我不知道该怎么做..第二天找不到答案

0 个答案:

没有答案