2016-10-11 8 views
0

ich ein Raster Speicher haben, der wie so aussieht:Unable to grid speichern Filter erhalten

Ext.create('Ext.data.BufferedStore', { 
    fields: fields, 
    autoLoad: true, 
    leadingBufferZone: 300, 
    pageSize: 100, 
    proxy: { 
     type: 'ajax', 
     url: 'handler.php?action=getObjData&id_obj='+id_bj, 
     reader: { 
      type: 'json', 
      rootProperty: 'items', 
      totalProperty: 'total' 
     } 
    }, 
    listeners: { 
     load: function() { 
      //this is what I tried 
      console.log(this.proxy.extraParams); 
      console.log(this.proxy.params); 
      console.log(this.proxy.url); 
      console.log(this.filters.filterData()); 
     } 
    } 

});

Wie Sie sehen können, habe ich in einem Load Listener eine Reihe von Lösungen ausprobiert. Aber sie alle führen in undefined, {} oder die anfängliche URL, Ereignis obwohl wnen ich Daten filtern, die ich in der Konsole zu sehen, dass der Serveranfrage aussehen wird:

handler.php?action=getObjData&filter=[{"operator":"gt","value":0,"property":"attr_88186_"}]... 

So gibt es einen Filterparameter aber ich verstehe es nicht.

+0

Haben Sie Funktionen von Sencha docs zu verwenden versucht? –

+0

Ja. Ich habe 'filterData()' Funktion gefunden, wie Sie in meinem Beispiel sehen können, aber immer noch fehlgeschlagen. – Jacobian

+0

Ich meine, können Sie das Ergebnis Ihrer Konsolenprotokolle schreiben? Das URL-Konsolenprotokoll gibt die URL zurück oder nicht? –

Antwort

3

Sie möchten die Filter aus einem Geschäft erhalten:

load: function (store) { 
    var filters = store.getFilters().getRange() 
+0

Danke! Es klappt. Allerdings klingt 'getRange' für diese Aufgabe nicht gut. Sie hätten einen besseren Methodennamen wählen können. Aber trotzdem, danke! – Jacobian

+0

'filters' ist eine' mixedCollection', und 'getRange (start; end)' ist die Methode von 'mixedCollection', um einen bestimmten Bereich zu erhalten (Start ist standardmäßig 0, Standard ist die Anzahl der Einträge in der Sammlung) macht Sinn, IMO. Sie hätten 'filters' in' filtersCollection' umbenennen können, aber aus Gründen der Abwärtskompatibilität nicht. – Alexander