Jqgrid пейджер не работает с «локальным» dataType - PullRequest
3 голосов
/ 04 апреля 2011

Позволяет ли Jqgrid добавить пейджер, который мы используем dataType local, и не хотим, чтобы все данные загружались сразу. Я пытаюсь сделать то же самое без успеха. Он показывает только первую страницу и отображает Page 1 Of 1 на пейджере, когда есть еще много записей для отображения.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2011

Возможно, вы заполняете сетку неправильно.Посмотрите на пример , чтобы увидеть, как вы можете использовать data параметр jqGrid.

1 голос
/ 06 июня 2011

У меня такая же проблема.У меня есть «локальная» настройка 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:[.....]}

Кажется, это работает как нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...