Hy大家, 我有ExtJS 3.2,PHP5.3和Oracle 10g XE。
JSON从MyExtJs.php返回:
[{“FIRST_NAME”:“Ellen”,“LAST_NAME”:“Abel”},{“FIRST_NAME”:“Sundar”,“LAST_NAME”:“Ande”},{“FIRST_NAME”:“Mozhe”,“ LAST_NAME “:” 阿特金森 “},{” FIRST_NAME “:” 万人迷 “ ”LAST_NAME“: ”奥斯汀“},{ ”FIRST_NAME“: ”赫尔曼“, ”LAST_NAME“: ”贝尔“},{ ”FIRST_NAME“:” Shelli “ ”LAST_NAME“: ”百大“},{ ”FIRST_NAME“: ”阿密特“, ”LAST_NAME“: ”邦达“},{ ”FIRST_NAME“: ”伊丽莎白“, ”LAST_NAME“: ”贝茨“},{” FIRST_NAME “:” 萨拉”, “LAST_NAME”: “贝尔”},{ “FIRST_NAME”: “大卫”, “LAST_NAME”: “伯恩斯坦”}]
数据存储:
var store = new Ext.data.JsonStore( {
autoLoad: true,
url: 'MyExtJs.php',
fields: [
{name: 'firstname'},
{name: 'lastname'}
]
});
网格:
var grid = new Ext.grid.GridPanel({
store: store,
columns: [
{
id : 'fname',
header : 'First Name',
width : 160,
sortable : true,
dataIndex: 'firstname'
},
{
id : 'lname',
header : 'Last Name' ,
width : 75,
sortable : true,
dataIndex: 'lastname'
}
],
stripeRows: true,
height: 300,
width: 500,
title: 'Report',
autoExpandColumn: 'lname',
stateful: true,
stateId: 'grid'
});
我只显示网格的标题和边框,但里面没有数据。
亲切的问候, 丹
答案 0 :(得分:3)
在您的字段中,配置包括"映射"这样的财产:
var store = new Ext.data.JsonStore( {
autoLoad: true,
url: 'MyExtJs.php',
fields: [
{name: 'firstname', mapping:'FIRST_NAME'},
{name: 'lastname', mapping:'LAST_NAME'}
]
});
不是Ext.data.Store读取你的JSON,它使用Ext.data.DataReader来读取来自服务器的数据,这个"字段"在Store的配置中设置的prop将传递给其DataReader以进行自我配置。 DataReader对每个正在阅读的字段使用Ext.data.Field,查看here,ExtJS的文档很好!