2011-10-05 3 views
1

Quelle est la bonne façon d'utiliser un TreeStore avec directFn?ExtJS: directfn et TreeStore - ne pas charger

Voilà comment je le fais:

var categoryStore = Ext.create('Ext.data.TreeStore', { 
    //storeId:'categoryStore', 
    autoLoad:true, 
    root: { 
     text: 'Menu', 
     id: 'categoryId', 
     expanded: true 
    }, 
    proxy: { 
     type: 'direct', 
     directFn: categoryController.getMenuItems, 
     reader: { 
      id: 'categoryId' 
     } 
    }, 
    fields: ['categoryId', 'text', 'children', 'leaf', 'cls'], 
    sorters: [{ 
     property: 'leaf', 
     direction: 'ASC' 
    }, { 
     property: 'text', 
     direction: 'ASC' 
    }] 
}); 

Mais je reçois pas d'amour. Voici un exemple de mes données:

[{"method": "getMenuItems", "result": {"data": [{"enfants": [{"leaf": true, "vérifié": false, " categoryId ": 1001," text ":" XXXXX "}]," succès ": true}," action ":" categoryController "," tid ": 1," type ":" rpc "}]

Frustrant , cela fonctionne si je mets ce qui est dans le noeud de données et fais un simple appel AJAX.

+0

pouvez-vous indiquer la configuration de votre fournisseur direct? et que se passe-t-il (avertissement/erreur) dans la console firebug/js? – Gajahlemu

+0

Le fournisseur direct est une application Java. Il renvoie le json correctement comme vous pouvez le voir ci-dessus. Si je regarde le magasin juste après le chargement, il a un magasin vide. Aucune erreur n'est levée (j'utilise le débogage de extjs) – jeffkolez

Répondre

1

Peut-être essayer:

reader:{ 
     type:'json', 
     root:'data' 
    } 

ont également un coup d'œil à this.

Questions connexes