商店的元数据将不会加载
问题描述:
我尝试通过元数据将字段配置加载到json商店。 JSON的是:商店的元数据将不会加载
{
"rows":[
{
"datev":"02.01.2011",
"w1":"100",
"w2":"200"
},
{
"datev":"02.01.2011",
"w1":"300",
"w2":"50"
},
{
"datev":"03.01.2011",
"w1":"10",
"w2":"450"
}
],
"metaData":{
"fields":[
{
"name":"datev"
}
],
"root":"rows"
}
}
和我的店铺是:
var test = new Ext.data.JsonStore({
url: 'test.php'
});
test.load();
元数据不会加载。代码有什么问题?
答
我认为你需要添加一个JSON读者
var reader = new Ext.data.JsonReader({
fields: []
});
var store = new Ext.data.Store({
nocache : true,
reader : reader,
autoLoad : true,
remoteSort : true,
proxy : new Ext.data.HttpProxy({
url : '/getjson?queryable=featureType&featureType=Electronic%20Device',
method : 'GET'
})
也许
var store = new Ext.data.JsonStore({
url: 'somewhere',
fields: []
});
答
您没有指定ID属性,也不Root属性。这是我的代码,我希望这可以帮助
var EStore = new Ext.data.JsonStore
({
api: { read: 'getAssignedJobs',
create: 'createAssignedJobs',
update: 'updateAssignedJobs'
},
root: 'jobData',
idProperty: 'Id',
autoSave: true,
batch: false,
successProperty: 'success',
writer: new Ext.data.JsonWriter({ encode: true, writeAllFields: true }),
fields: [
{ name: 'Id', type: 'int' },
{ name: 'ResourceId', mapping: 'fitter_id', type: 'int' },
{ name: 'StartDate', type: 'date', format: 'd/m/Y G:i' },
{ name: 'EndDate', type: 'date', format: 'd/m/Y G:i' },
{ name: 'status', type: 'int' },
{ name: 'job_id', type: 'int' }
]
});
它没有帮助。我认为JsonStore没有属性“读者” – lvil 2011-05-24 18:22:51
林相当肯定你需要一个JSONReader在那里,因为这是理解元数据的对象http://dev.sencha.com/deploy/ext-3.3.1 /docs/?class=Ext.data.JsonReader – Dve 2011-05-24 18:26:43
from api:“一个JsonStore将自动配置一个Ext.data.JsonReader。” – lvil 2011-05-24 18:29:28