2012-04-07 8 views
2

Der Android-Browser kann keine inneren divs scrollen. Das bedeutet, dass die Verwendung von SlickGrid mit der Standardkonfiguration unmöglich ist.Slickgrid im Android-Browser (inner-div scrolling)

Zum Glück hat SlickGrid ein AutoHeight-Argument, das nicht inner scrollbare Inhalte verwendet, so dass es auf dem Android funktioniert. Wenn AutoHeight aktiviert ist, wird onViewPortChanged einmal aufgerufen, um das gesamte Ansichtsfenster zu überdecken, und wird nie wieder aufgerufen, sodass es versucht, alle Daten gleichzeitig zu laden. Ich bin faul und lade so viele Remote-Daten ein, dass, wenn man versucht, alles auf einmal zu laden, mobile Geräte abstürzen, also ist das kein Problem.

Wenn SlickGrid intelligent genug wäre zu wissen, was auf dem Bildschirm ist, selbst wenn AutoHeight aktiviert ist, würde das mein Problem lösen. Ich würde es lieben, wenn das ein Feature im Kern wäre, da das viele Probleme auf dem Desktop sowie auf Android-Geräten lösen würde.

Ich versuchte auch mit iScroll 4, um die Android-Beschränkung zu umgehen. Leider löst es bei der Verwendung von iScroll überhaupt kein ViewportChanged aus.

Ich werde wahrscheinlich dies lösen müssen, indem ich onViewportChanged ditching oder ändern, um meine eigenen scrollenden Ereignisse zu behandeln. Ich habe mich gefragt, ob es dafür eine bestehende Lösung gibt.

Antwort

3

Ich schrieb zu diesem Zweck my own version of slickgrid. Außerdem wird dies irrelevant, wenn Google Chrome zum Standardbrowser wird, da es tatsächlich eine ordentliche Unterstützung für das Scrollen bietet.

0

Ich würde SlickGrid nicht für Apps/Seiten mit Ausrichtung auf Mobilgeräte empfehlen. Das Grid wurde nicht mit mobilen Geräten entwickelt. Sie erfordern einen völlig anderen Ansatz, der für diesen speziellen Anwendungsfall optimiert ist.

+0

Ich am Ende SlickGrid zu ändern, so dass wenn AutoHeight gesetzt ist, es bis zu seinen Vorfahren nach dem tatsächlichen scrollbaren Ansichtsfenster Bereich sucht und berechnet, was sichtbar sein sollte. Auf diese Weise konnte ich das Fenster scrollbar machen und trotzdem die Vorteile von slickgrid nutzen. Meine Modifikation ist jedoch ziemlich hackisch und vermischt einige der Hauptannahmen von Slickgrid, so dass ich eine Menge Dinge ändern musste. –

+0

Kennen Sie bessere Alternativen zu slickgrid für mobile Geräte? –

+0

Ich denke, Grooveshark (die SlickGrid verwendet) hat eine ähnliche Änderung vorgenommen. Wenn Sie diesen Code mehr Produktionsqualität bekommen, wäre das eine großartige Ergänzung zu SlickGrid. – Tin