2011-05-19 3 views
0

je contiennent des données JSON quelque chose comme ceci:Extjs lecture des données JSON complexes en magasin

{ 

"Data": 

    { 
    "Columns": 
    [ 
     { 
      "Name":"Name", 
      "Format":"string" 
     }, 
     { 
      "Name":"Age", 
      "Format":"N2" 
     } 
    ], 
    "Rows": 
    [ 
     {"ExtensionData":{},"Cells":["Vikas", 23],"Emails":[{"ExtensionData": }, Email": [email protected]", "CellOrdinal":0}]}, 
     {"ExtensionData":{},"Cells":["Vikram", 27],"Emails":[{"ExtensionData":{},"Email":"[email protected]","CellOrdinal":0}]},  
    ] 
    } 
    "Grid Name":"Users" 
    } 
} 
} 

je dois lier à mon réseau.

La balise « Colonnes » contient les noms de colonnes de la grille. Les "lignes" contiennent des enregistrements de la grille. Il y a aussi des données comme Nom de la grille qui est extraite de la base de données. C'est une structure légèrement compliquée.

Comment obtenir ces données dans un magasin? Comment devrait être mon modèle?

+0

Désolé ... ne pouvait pas formater des données JSON correctement !!! – Vijay

+0

Je veux juste mentionner que vous avez aussi un bouton de code {} pour formater;) – sra

Répondre

4

Atlast après beaucoup d'essais et d'erreurs a le modèle prêt ...

Ext.define('Data', { 
    extend: 'Ext.data.Model', 
    fields: [ 
      { type: 'string', name: 'Grid Name' } 
     ], 
    hasMany: [{ model: 'Column', name: 'Columns' }, 
       { model: 'Row', name: 'Rows' }] 
}); 

Ext.define("Column", { 
    extend: 'Ext.data.Model', 
    fields: [ 
      { type: 'string', name: 'Name' }, 
      { type: 'string', name: 'Format' } 
     ], 
    belongsTo: 'Data' 
}); 

Ext.define("Row", { 
    extend: 'Ext.data.Model', 
    fields: [ 
      { type: 'string', name: 'Cells' }, 
      { type: 'string', name: 'Emails' } 
     ], 
    belongsTo: 'Data' 
}); 
Questions connexes