【发布时间】:2023-03-10 04:03:01
【问题描述】:
我正在学习“Mastering Ext Js”一书,我在 Grid Panel 上遇到了问题,没有从存储中加载数据,我调试 Json 格式服务器很好,我不知道是什么问题,因为控制台没有错误。
这是我的模型类
Ext.define("pg.model.security.User", {
extend: 'Ext.data.Model',
idProperty: 'userName',
fields: [
{
name: 'userName'
}, {
name: 'roleId'
}, {
name: 'fullName'
}, {
name: 'emailId'
}, {
name: 'mobileNumber'
}, {
name: 'landLineNumber'
}, {
name: 'picture'
}
]
});
这里是商店类
Ext.define('pg.store.security.Users', {
extend: 'Ext.data.Store',
requires: [
'pg.model.security.User' // #1
],
storeId:'userStore',
model: 'pg.model.security.User', // #2
proxy: {
type: 'ajax',
url: 'http://localhost:8080/parkgarau-ws/ws/park/userlist',
reader: {
type: 'json',
root: 'data'
}
}
});
从 url,我将成功检索 JSON 格式
{"code":200,"message":"Success","data":"[{\"userName\":\"admin\",\"roleId\":\"SYS_ADMIN\ ",\"fullName\":\"Bibek Shakya\",\"emailId\":\"bibek@drose.com.np\",\"mobileNumber\":\"9843598726\",\"landLineNumber\" :\"014323565\",\"图片\":\"index.jpg\"}]"}
这是我的视图类扩展网格面板
Ext.define('pg.view.security.UsersList', {
extend: 'Ext.grid.Panel',
alias: 'widget.userslist',
frame: true,
store: Ext.create('pg.store.security.Users'), // #1
columns: [
{
width: 150,
dataIndex: 'userName',
text: 'Username'
},
{
width: 200,
dataIndex: 'fullName',
flex: 1,
text: 'Name'
}, {
width: 250,
dataIndex: 'emailId',
text: 'Email'
}
]
});
这是我的控制器类
Ext.define('pg.controller.security.Users', {
extend: 'Ext.app.Controller',
views: [
'security.Users' // #1
],
init: function (application) {
this.control({
"userslist": {// #2
render: this.onRender
}
});
},
onRender: function (component, options) { // #3
this.getStore('userStore').load();
}
});
【问题讨论】:
标签: javascript json extjs