2012-02-23 19 views
5

Mam następujący kod, aby zmienić stronę Jqgrid.Strona konfiguracji jqgrid

function setPage() { 
    $('#editGrid').setGridParam({ page: 10 }).trigger('reloadGrid'); 
    alert("Success"); 
} 

Otrzymuję wiadomość o powodzeniu, ale strona się nie zmienia. Obecnie uruchamiam funkcję w sekcji loadcomplete w siatce.

Każda pomoc zostanie doceniona.

+0

Tylko dla rekordu. Próbowałem również ustawić typ danych na json, ponieważ używam loadonce: true. $ ("# editGrid"). SetGridParam ({typ danych: 'json', strona: 10}). Trigger ("reloadGrid"); – ffffff01

+1

Dla każdego, kto się zastanawia; sposób wykonania tej czynności wydaje się następujący: $ ("# editGrid"). trigger ("reloadGrid", [{page: 10}]); Ciągle staram się, aby ta praca działała na obciążenie, ale jeśli spróbuję umieścić ją na SectreRow itp., To działa dobrze. – ffffff01

Odpowiedz

8

.trigger ("reloadGrid") przeładuje sieć na stronie 1. Tak więc ustawiłeś GridParam ({page: 10}), ale zaraz po .trigger ("reloadGrid") odświeżyłeś siatkę do strony 1.

aby ustawić siatkę na stronie 10 to zrobić:

$("#editGrid").trigger("reloadGrid",[{page:10}]); 
+0

czy możliwe jest dynamiczne ustawianie numeru strony? tj. chcę numer 10 w $ ("# editGrid"). trigger ("reloadGrid", [{page: 10}]); być dynamiczne i powinno wzrosnąć o 1. – techlead

+2

@ SK11 użyj zmiennej JS zamiast stałej liczby, np. $ ('# editGrid'). trigger ("reloadGrid", [{page: intPage}]); – SaschaM78

+0

@ SK11 Niestety nie odpowiedziałem. SaschaM78 jest poprawny. Możesz mieć zmienną, która przechowuje bieżącą stronę, a następnie zwiększa ją na następnej stronie. tj. intPage ++; lub intPage = intPage + 1; Następnie możesz ustawić stronę taką jak SaschaM78 powyżej. – Jpepper