无法从gridpanel extjs4 MVC中的存储加载数据

Posted

技术标签:

【中文标题】无法从gridpanel extjs4 MVC中的存储加载数据【英文标题】:Can't load data from store in gridpanel extjs4 MVC 【发布时间】:2014-10-20 18:51:31 【问题描述】:

我的 MVC 如下:

型号:

Ext.define('test.model.mdlPerson', 
    extend: 'Ext.data.Model',
    fields: [
         name: 'name' ,
         name: 'surname' , 
         name: 'email' 
    ]
); 

商店:

Ext.define('test.store.Person', 
    extend: 'Ext.data.ArrayStore',
    model: 'test.model.mdlPerson',
    data: [
         name: 'Edddd', surname: 'dfasd', email: 'ed@sencha.com' ,
         name: 'Tommy', surname: 'dfgdfgdfg', email: 'tommy@sencha.com' 
    ],
    storeId: 'Person'
);

网格面板视图:

Ext.define('test.view.GridPanel', 
    extend: 'Ext.grid.Panel',
    title: 'The GridPanel',
    alias: 'widget.gridpanel',
    itemId: 'gridPanelId',
    store: 'Person',
    initComponent: function() 
        columns : [
                 text: 'Name', dataIndex: 'name' ,
                 text: 'Surname', dataIndex: 'surname' ,
                 text: 'E-mail', dataIndex: 'email' 
            ]
        this.callParent(arguments);
    
);

控制器:

Ext.define('test.controller.GridPanel', 
    extend: 'Ext.app.Controller',
    stores: ['Person'],
    models: ['mdlPerson'],
    views: ['GridPanel'],
    refs: [
        ref: 'gridpanel',
        selector: 'gripanel'
    ]
);

问题是无法加载商店。我也尝试过 getStore() 方法,但没有出现。任何人都在这里帮助!非常感谢!!!

【问题讨论】:

【参考方案1】:

你能不能替换extend: 'Ext.data.ArrayStore' 到 扩展:'Ext.data.Store' 然后尝试...

【讨论】:

【参考方案2】:

您不需要控制器。 当数据被硬编码时会自动加载。

你有你的 app.js 吗? 如果不在这里是

Ext.application(
    models: [
        'mdlPerson'
    ],
    stores: [
        'Person'
    ],
    views: [
        'GridPanel'
    ],
    name: 'test',

    launch: function() 
        Ext.create('test.view.GridPanel', renderTo: Ext.getBody());
    

);

【讨论】:

以上是关于无法从gridpanel extjs4 MVC中的存储加载数据的主要内容,如果未能解决你的问题,请参考以下文章

在 extjs4.1 和 4.2 中使用 CheckboxModel 删除和添加 Gridpanel 再次失败

如何让 GridPanel 在 ExtJS 4 中显示正确的时间?

在 Ext JS 3.4 中的初始化之外禁用 GridPanel LoadMask

ExtJS 4.1 GridPanel 错位列

如何:在 Ext JS4 中自动调整 GridPanel 列宽 + 读取网格中的所有列值

EXTJS ||在 GridPanel 中实施复​​选框选择模型时需要帮助