• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Sencha Touch: Limitiertes auslesen von Daten mit einer JsonStore

Gilles

Blogger
Hallo Leute,
heute schreibe ich ausnahmsweise ein Crossposting, da ich die Information relativ dringend benötige.
Ich probiere mit Sencha Touch eine Liste zu befüllen. Die Daten für diese Liste hole ich mir mit Hilfe einer JsonStore aus einer JSON-Datei.
Nun will ich aber nicht alle Datensätze auf einmal ausgeben, sondern nur 2 der 4 Datensätze in der Übersicht anzeigen.
Kennt jemand von euch eine Möglichkeit dies umzusetzen?
Meinen derzeitiger Code kann hier gefunden werden.
javascript - Sencha Touch: How to set a limit for data in a JsonStore - Stack Overflow
Wie schon oben erwähnt, tut mir das Crossposting Leid.

Ich hoffe ihr könnt mir hier weiter helfen.
Ich bin für jede Antwort dankbar.

Beste Grüße,
Gilles
 
Werbung:
Du hast wohl zwei Möglichkeiten:

1) start und limit aus Ext.data.Operation sind Parameter, die mit dem Request verschickt werden. Du könntest mit ihnen serverseitig nur die nachgefragte Anzahl an Einträgen generieren.

2) sencha touch - Showing a limited subset of (or individual record from) a store in an Ext.DataView - Stack Overflow (Sencha 1)
Request: Filter on a DataView (Sencha 2)

rdougan schrieb:
Personally, I would setup 1 base store which handles your ajax requests. Then have three other stores which all will get content from that base store. It is a little dirty, but it would work, and it isn't hard to put together.



Note to self: Nie wieder einen Browser zum Schreiben benutzen, der keine Autosave-Erweiterung für Formulare hat. Das Web und die Login-Timeouts und die User-Interfaces sind zu fragil.

- https://addons.mozilla.org/en-US/firefox/addon/lazarus-form-recovery/
 
Habe mich heute noch einmal damit beschäftigt. Der erste Link fällt mir flach, da ich die Daten auf dem Handy habe und nur per JS erreichen kann.
Der zweite hat mir jedoch geholfen. Dort wird eine Dataview benutzt bei der eine Art Filter durchlaufen wird mit der Funktion collectData. Mit dieser Funktion, kann ich die Einträge eingrenzen.
Hier ist mein Code für das eingrenzen der anzuzeigenden Datensätze:

Code:
"collectData" : function(records, index) {
      var recs = [];
      var start = (index > records.length) ? 0 : index;
      var limit = (start+this.limit > records.length) ? records.length : start+this.limit;
      for(var i=start; i < limit; i++) {recs[i] = records[i]['data'];}
      return recs;
    },
"limit" : 3
 
Werbung:
Zurück
Oben