Полагаю, вы используете параметр loadonce: true
. Для перезагрузки данных с сервера вы устанавливаете datatype
: в 'json' (я надеюсь, что вы используете setGridParam({datatype:'json'})
, а не setGridParam({datatype:json})
, как в фрагменте кода из вопроса). После загрузки данных с сервера отобразится первая страница локальных данных .
Чтобы решить проблему, вам придется перезагрузить сетку еще раз внутри loadComplete
, но теперь вам следует перезагрузить локальную сетку. Чтобы не иметь петли перезагрузки и разрешить локальный пейджинг, вы должны проверить, является ли текущий datatype
'json':
var myGrid = $("#mygrid"), currentPage = 1;
...
myGrid.jqGrid({
// all grid parameters and additionally the following
loadComplete: function() {
if (this.p.datatype === 'json' && currentPage !== 1) {
setTimeout(function() {
myGrid.trigger("reloadGrid",[{page:currentPage}]);
}, 50);
}
}
});
....
currentPage = 5;
myGrid.setGridParam({datatype:'json'}).trigger("reloadGrid",[{page:currentPage}]);
См. Демо здесь .