无法从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