J'ai mis en place un service WCF pour fournir des données de table en JSON:données de la table WCF pour ExtJS magasin
{
"d":{
"__type":"ExtJsDataResults:#MyProject.WebServices",
"rows":[
["TitleA","1.98","English"],
["TitleB","1.98","Spanish"],
["TitleC","1.98","Korean"]
],
"totalcount":10
}
}
Comment lire ce dans un magasin ExtJS? J'ai besoin d'un JSONStore pour commencer, mais un type de type ArrayReader interprète les données de ligne. Quelque chose comme ceci:
var itemStore = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
url: "../WebServices/ItemsService.svc/getData",
method: "GET"
}),
root: "d.rows",
totalProperty: "d.totalcount",
fields: ['Book Title', 'Unit Price', 'Language'],
reader: new Ext.data.ArrayReader({},
Ext.data.Record.create([
{name:'Book Title'},
{name:'Unit Price'},
{name:'Language'}
])
)
});
Bien sûr, cela ne fonctionne pas. Lorsqu'il est lié à un DataGrid avec une barre d'outils de pagination, il affiche des lignes vides, mais le nombre correct d'entre eux et les valeurs de la barre d'outils de pagination sont tous corrects.
Des idées?