2010-09-27 1 views
8

Wenn Sie 17 Datensätze haben und 15 auf einmal anzeigen, dann wenn Sie auf Seite 2 sind, sehen Sie Datensätze 16-17 von 17 - macht Sinn.jqGrid Paging-Frage

Jetzt, wenn Sie auf dieser zweiten Seite sind und Sie die Reload-Taste im nav drücken (set datype = 'json'), wenn das Gitter neu geladen wird, zeigt das Gitter 16-30 von 17 an scheint ein Fehler zu sein - gibt es einen Workaround?

Das Raster hat immer noch 17 Zeilen - aber es wird versucht, eine volle 15 Zeilen (die rowNum) -Einstellung auf der zweiten Seite anzuzeigen, wenn es nur zwei Zeilen anzeigen soll (16-17). Der Text für die nav-Paginierung ist falsch (bezieht sich auf 30 Zeilen, wenn nur 17 Zeilen vorhanden sind).

Antwort

29

Sie haben Recht. Es ist ein altes Problem. Ich habe immer vor

$("#list").setGridParam({page:1}).trigger('reloadGrid'); 

aber es gibt einen anderen Weg. Der Trigger 'reloadGrid' unterstützt zusätzliche Optionen: 'current' und 'page'.

$("#list").trigger("reloadGrid", [{page:1}]); 

wird page auf 1 in einem Schritt zurückgesetzt. Die Verwendung im Formular

$("#list").trigger("reloadGrid", [{current:true}]); 

ermöglicht die aktuelle Auswahl zu erhalten. Sie können beide Möglichkeiten kombinieren.

+0

Sind alle diese Optionen eine Problemumgehung für den Fehler? Das ist in meinem Beispiel, kann ich das Gitter neu laden und auf Seite 2 sein, wo das Gitter nur Aufzeichnungen 16-17 zeigen wird? –

+0

Und wurde dieser Fehler gemeldet? –

+0

@Marcus: Ja zu beiden Fragen. Sie können direkt mit Seite 2 beginnen, wenn Sie es in den jqGrid-Parametern festlegen. Sie können den Fehler selbst melden oder ich kann dies tun. Momentan möchte ich eine kurze Pause machen, aber auf dem Stackoverflow zu lange bleiben. Ich muss meine Hauptarbeit fortsetzen ... :-). Übrigens gibt es momentan ** nur die zwei Optionen **: 'page' und' current'. – Oleg