2017-05-17 6 views
0

J'ai ce problème où je veux vérifier le magasin de données s'il est vide ou non. Ces données appelées par url fonction de magasin par JSON. Voici le code:Vérifiez si le magasin ext retourne vide

var store = new Ext.data.Store({ 
    url : '/finance/report/type/'+type, 
    autoLoad : true, 
    reader : new Ext.data.JsonReader ({ 
     root : 'data', 
     totalProperty : 'total', 
     fields : [ 
      {name:'date'}, 
      {name:'requester'}, 
      {name:'status'}, 
     ] 
    }) 
}) 

Je veux obtenir la valeur totale de totalProperty. J'ai essayé avec store.getTotalCount, store.reader.jsonData.total, et d'autres mais est non défini, 0, ou erreur. Toute aide appréciée.

+0

Lorsque vous essayez d'y accéder? Aussi, quelle version utilisez-vous? –

+0

Fondamentalement, magasin de var s'est déclenché pour créer quand je vais à une certaine page, et après que c'est fait, je veux lire le magasin s'il est vide ou pas. Version Ext Js 4 –

Répondre

1

Vous pouvez gérer votre code en charger listener et là vous pouvez obtenir des données retournées par le serveur. Ajouter un gestionnaire en magasin lui-même.

+0

Dans l'écouteur de chargement, comment accéder à la propriété totale? –

+0

donne un exemple json qui est retourné par le serveur. Je vais vérifier. – Tejas

+1

@RayanSuryadikara Vérifiez ici comment lire. http://stackoverflow.com/questions/43894318/how-to-get-xml-data-by-using-ajax – UDID

0

Pour vérifier si le magasin est vide, vous pouvez coder comme indiqué ci-dessous.

store.on("load", function(){ 
    if(Ext.isEmpty(this.data.items)){ // Return true OR false 
    } 
}); 

Pour obtenir le totalProperty

store.on("load", function(){ 
    var total = this.getTotalCount() //Returns total 
});