JQGrid нумерация страниц не работает

0

Я показываю jqgrid с данными, которые отлично работают и я пытаюсь реализовать пейджинг поверх того, что не работает. Я просмотрел примеры здесь http://trirand.com/blog/jqgrid/jqgrid.html и попытался реализовать их.

Это довольно просто, но я не знаю, как jqgrid волшебным образом реализует подкачку. Я не могу видеть кнопки поискового вызова. Я также включил файл ui.jqgrid.css.

внутри $ (document).ready Я вызываю InitializeGrid и completeGrid. Pagination отображает записи сразу. Например, я дал rowNum как 10, но при отображении это говорит "View 1-17 of 17". Вместо этого я ожидаю, что он отобразит 10 записей на первой странице и 7 записей на второй странице.

ниже мой код.

Код:

function InitializeGrid() { 

    jQuery("#sample").jqGrid({
        datatype: function(postdata) {

        },
        pager: '#gridpager',
        colNames: colNames,
        pgbuttons: true,
        colModel: colModel,
        hoverrows: false,
        hidegrid: false,
        shrinkToFit: true,
        altRows: true,
        scroll: true,
        viewrecords: true,
        footerrow: false,
        gridView: true,
        caption: 'Information',
        loadonce: false,
        sortable: false,
        rowNum: 10,
        cmTemplate: { title: false },
        jsonReader: {
            root: "Data",
            page: "CurrentPage",
            total: "TotalPages",
            records: "TotalRecords",
            repeatitems: false,
            id: "0"
        },
    });
}

function completeGrid(gridData) {
    gridRows = gridData;
    var grid = $("#sample ");
    grid.clearGridData();
    var addRow;
    var gridData = { Data: [], CurrentPage: 1, TotalPages: 1, TotalRecords: 1};
    for (var i = 0; i < gridRows.length; i++) {
        addRow = {
            Group: gridRows[i].Group,
            Member: gridRows[i].Member
        };
        gridData.Data.push(addRow);
    }
    for (var j = 0; j < gridRows.length; j++) {
        jQuery('#sample').addRowData( j, gridData.Data[j]);
    }
}
Теги:
jqgrid
paging

2 ответа

1

Мне кажется, вам нужно также указать массив rowList в параметрах:

rowList:[10,20,30],

и попробуйте удалить конечную ',' запятую из читателя json:

jsonReader: {
        root: "Data",
        page: "CurrentPage",
        total: "TotalPages",
        records: "TotalRecords",
        repeatitems: false,
        id: "0"
    }, // <----------this comma

и если ваши данные идут динамически, вы должны использовать

loadOnce: true,

это необходимо.

  • 0
    Верный. Элемент управления раскрывающимся списком в разделе разбиения на страницы заполняется теми параметрами, которые предоставляются в массиве rowList. Массив rowList назван немного странно, так как он действительно предоставляет «строки на страницу». rowNum указывает, какой из параметров rowList должен быть выбран по умолчанию; по сути, «начальные строки на странице». Если вы хотите, чтобы 10 был единственным вариантом, используйте rowList: [10].
0

Вы должны делать разбиение на страницы при получении данных.

Пример кода в Asp.net С#

   //Get the page number and page size from query string.
  int iPage = int.Parse(Request.QueryString["page"]);//get the requested page
  int iLimit = int.Parse(Request.QueryString["rows"]); //get how many rows you want to display

  //Taking requires no of records for required page
 //using LINQ query.
  var Res = res.Skip((iPage - 1) * (iLimit)).Take(iLimit).ToList();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню