2012-02-15 5 views
0

Sa même concernant mon post précédent. C'est le json changé que je reçois du serveur. Je veux rendre le tableau d'options des Types dans une combo-box. C'est le modèle.lire des données de json imbriqué

Ext.define('Property', { 

     extend : 'Ext.data.Model', 

     fields : [ { 
      name : 'id', 
      mapping : '@id' 
     }, { 
      name : 'label', 
      mapping : '@label' 
     }, { 
      name : 'type', 
      mapping : '@type' 
     }, { 
      name : 'mandatory', 
      mapping : '@mandatory' 
     }, { 
      name : 'length', 
      mapping : '@length' 
     } ], 
     // {name : 'values', mapping : 'options[0][email protected]'}], didnt work 
     hasMany : { 
      model : 'Options', 
      name : 'options' 
     } 
    }); 

Ext.define('Options', { 
     extend : 'Ext.data.Model', 
//  reader : { 
      type : 'json', 
      root : 'options' 
      }, 

     fields : [ { 
      name : 'value1', 
      mapping : '@value' 
     } ], 
     associations : [ { 
      type : 'belongsTo', 
      model : 'Property' 
     } ] 
    }); 

Impossible de trouver ce qui ne va pas. Quelqu'un peut-il me suggérer la bonne façon de le faire?

Répondre

0

Je pense que vous devriez vous pencher sur le concept des "associations" dans les modèles, et utiliser les relations hasMany/appartient à. À mon humble avis, il rendrait le code plus facile et plus propre, de la même manière plus utile plus tard dans le code lorsque vous aurez besoin d'utiliser les données que vous essayez de définir.

Pour plus d'informations au sujet de l'association S'il vous plaît se référer à ce grand lien sencha docs

HTH!

+0

J'ai essayé les associations mais elles aussi ne fonctionnent pas. – techie

0

Comment configurez-vous votre magasin combo? Si vos données ont déjà été récupérées, vous pouvez simplement définir les données pour la liste déroulante en accédant aux données brutes qui ont été renvoyées au magasin.