2017-02-24 5 views
0

Ich muss eine unendliche Scroll implementieren, das heißt, wie der Benutzer in einem Raster scrollt, die "potentiell" Tausende von Elementen hat. Anfangs habe ich ein SDT und es ist das, das ich am Gitter zeige.Unendlich scrollen Genexus SD

Die Idee ist, dass:

  1. Die SDT Lasten von 20 an der Cursorposition

  2. jene Seite 20 im Raster

  3. Speichern Sie die Cursorposition

Dies sollte schnell sein. Während der Benutzer nach unten scrollt, werden die Zyklen 1, 2 und 3 wiederholt, bis sie beendet sind. Um das Netz nicht zu überlasten.

Das am ähnlichsten, was ich im Wiki ist dies:

http://wiki.genexus.com/commwiki/servlet/wiki?21311,HowTo%3A+External+Services+%28Scenario2%29,

Wo Variablen zählen, Start (zu sagen, wie viele zu laden und laden der Abfrage von welcher Position) und die SDT, die die Werte laden, sind definiert. Der Punkt ist, dass es mir nicht klar ist, wie es funktioniert.

Es lädt in LOAD, aber nirgends sehe ich, dass der Wert der Variable Start aktualisiert wird, also würde ich immer die gleichen 20 Elemente laden.

Wenn jemand etwas implementiert, kann ich eine Erklärung, einen Hinweis oder ein Willkommen XPZ !! standardmäßig

Grüße und Dank

+0

Ich stimme für das Schließen dieser Frage als Off-Topic, weil es in Spanisch geschrieben ist. Sollte übersetzt oder in stackoverflow.es verschoben werden –

Antwort

0

Zu allererst Gitter auf Attributen basiert bereits dieses Verhalten Paging/unendliche Scrollen haben. Ich nehme an, Sie fragen nach Raster basierend auf Variablen.

Die Werte der Variablen &start und &count werden automatisch von der Clientanwendung GeneXus Smart Devices verwaltet und gesendet. Die Idee ist, dass der Dienst nur die Datensätze in diesem Bereich zurückgeben muss, und der Client wird automatisch mehr anfordern, während der Benutzer scrollt.

Obwohl es keine Auswirkungen auf die Service-Implementierung haben sollte, die Angaben sind:

  • &start den Strom (gesamt) Anzahl der Datensätze durch den Dienst so weit zurückgeführt hat.
  • &count ist ein fester Wert. Es ist das auf der Rows Eigenschaft des Gitters.

Daher wird die erste Anforderung &start = 0 und &count = 10 (standardmäßig) haben. Die zweite Anfrage wird &start = 10 und &count = 10 haben, dann &start = 20 und so weiter.


Hinweis: Es ist wichtig, dass, wenn der Client fordert X Elemente, dann genau X durch den Dienst zurückgegeben werden. Wenn dies nicht geschieht, wird der Client annehmen, dass die Datenquelle erschöpft ist, und keine weiteren Anforderungen mehr stellen.