У меня такая же проблема.У меня есть «локальная» настройка jqgrid, и она показывает мои данные, но значения пейджера не совсем точны.Пока я не понял, что мне нужно отбросить свойство localReader.На вики jqgrid я видел, что у jsonReader могут быть функции, которые определяют, как получить страницу, записи и т. Д. В нем также говорится, что localReader может делать все, что делает jsonReader, поэтому я дал ему шанс.Вот что я делаю.
var grid = $('#table').jqGrid({
datatype: 'local',
altRows: true,
colModel: [
{name: '0', label: "Name"},
{name: '1', label: "Color"},
],
pager: "#pager",
rowNum: 15,
sortname: '0',
viewrecords: true,
gridview: true,
height: '100%',
autowidth: '100%'
});
var reader = {
root: function(obj) { return results.rows; },
page: function(obj) { return results.page; },
total: function(obj) { return results.total; },
records: function(obj) { return results.records; },
grid.setGridParam({data: results.rows, localReader: reader}).trigger('reloadGrid');
Мои "результаты" - это такой объект:
{page: "1", total: "70", records: "1045", rows:[.....]}
Кажется, это работает как нужно.