2017-05-17 6 views
0

Ich habe dieses Problem, wo ich Datenspeicher überprüfen möchten, wenn es leer ist oder nicht. Diese Daten werden durch die URL-Funktion von JSON gespeichert. Hier ist der Code:Überprüfen Sie, ob Ext Store leer

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'}, 
     ] 
    }) 
}) 

Ich möchte 'Total' Wert von totalProperty erhalten. Ich habe versucht mit store.getTotalCount, store.reader.jsonData.total und anderen, aber entweder ist nicht definiert, 0 oder Fehler. Jede Hilfe wird geschätzt.

+0

zu erhalten, wenn Sie darauf zugreifen wollen? Welche Version benutzt du? –

+0

Grundsätzlich var Speicher trigerred zu erstellen, wenn ich auf eine Seite gehe, und dann, nachdem es fertig ist, möchte ich den Laden lesen, wenn es leer ist oder nicht. Version Ext Js 4 –

Antwort

1

Sie können Ihren Code in load Listener behandeln und dort können Sie Daten von server.Add Handler im Laden selbst erhalten.

+0

Im Load-Listener, wie auf die gesamte Eigenschaft zuzugreifen? –

+0

geben Sie einige Beispiel JSON, die vom Server zurückgegeben wird. Ich werde überprüfen. – Tejas

+1

@RayanSuryadikara Überprüfen Sie hier, wie Sie lesen können. http://stackoverflow.com/questions/43894318/how-to-get-xml-data-by-using-ajax – UDID

0

Um zu überprüfen, ob der Speicher leer ist, können Sie wie folgt codieren.

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

Um die totalProperty

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