2010-09-27 15 views
8

Jeśli masz 17 rekordów i wyświetlasz 15 na raz, to kiedy jesteś na stronie 2 widzisz zapisy 16-17 z 17 - ma to sens.jqGrid pytanie stronicowania

Teraz, gdy znajdujesz się na tej drugiej stronie i naciśniesz przycisk przeładowania na nav (set datatype = 'json'), gdy siatka ponownie załaduje nav pokazuje, że siatka wyświetla 16-30 z 17. To wydaje się być błędem - czy istnieje obejście?

Siatka ma nadal 17 wierszy - ale próbuje pokazać pełne 15 wierszy (ustawienie rowNum) na drugiej stronie, gdy powinna pokazywać tylko dwa wiersze (16-17). A tekst paginacji nav jest niepoprawny (odnosząc się do 30 wierszy, gdy jest ich tylko 17).

Odpowiedz

29

Masz rację. To stary problem. Używałem zawsze przed

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

ale jest inny sposób. Spust "reloadGrid" obsługuje dodatkowe opcje: "current" i "page".

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

resetuje page na 1 w jednym kroku. Używanie w postaci: pozwala zachować bieżący wybór. Możesz spowodować połączenie obu opcji.

+0

Czy którakolwiek z tych opcji stanowi obejście tego błędu? To jest mój przykład, czy mogę przeładować sieć i być na stronie 2, gdzie siatka pokaże tylko rekordy 16-17? –

+0

Czy ten błąd został zgłoszony? –

+0

@ Marcus: Tak, na oba pytania. Możesz bezpośrednio rozpocząć od strony 2, jeśli ustawisz ją w parametrach jqGrid. Możesz zgłosić błąd samodzielnie lub mogę to zrobić. Obecnie chcę zrobić krótką przerwę, ale pozostań zbyt długo na stackoverflow. Muszę kontynuować moją główną pracę ... :-). Nawiasem mówiąc, istnieją obecnie ** tylko dwie opcje **: 'strona' i' aktualna'. – Oleg