jqgrid по умолчанию для последней страницы - PullRequest
0 голосов
/ 18 февраля 2012

Я ищу способ использовать jqgrid по умолчанию для последней страницы сетки при загрузке страницы. Я хочу, чтобы порядок сортировки оставался в порядке возрастания, а последняя страница сетки должна отображаться первой. Я использую что-то вроде этого:

$(function(){ 
  $("#list").jqGrid({
    url:'visitors.php',
    datatype: 'xml',
    mtype: 'GET',
    colNames:['timestamp', 'user','last_visit','last_purchase','purchase_amount'],
    colModel : gridColModel,
    pager: '#pager',
    rowNum:20,
    rowList:[10,20,30],
    sortname: 'timestamp',
    sortorder: 'asc',
    viewrecords: true,
    gridview: true,
    autowidth: true,
    editurl: 'edit.php',
  })
  .navGrid('#pager',{edit:false,add:false,del:false,search:false}) 
});

Ответы [ 2 ]

0 голосов
/ 05 июля 2013

Я действительно понял, как это сделать, не загружая сетку, а затем загружая последнюю страницу (так что вы загружаете сетку только один раз).

Когда вы запускаете jqGrid, вам нужно сделать:

$('#list').jqGrid({
    ...
    page: 'last'
    ...
});

Это отправит страницу = последний при начальной загрузке данных. Итак, внутри моего метода запроса данных (на стороне сервера) у меня есть следующее:

        if (page == "last")
        {
            iPage = (int)Math.Ceiling(results.Count/(double)rows);
        }

Теперь вы знаете, какой будет последняя страница, и можете пропустить нужное количество строк:

results.Skip(rows * (iPage - 1)).Take(rows)

Поскольку я использую json, а не XML, я затем возвращаю типичную структуру (строки, страницы, общее количество страниц, общее количество записей) в виде json.

0 голосов
/ 18 февраля 2012

Кажется, это уже дано в ответе программным путем на другую страницу

Надеюсь, это можно использовать в вашем случае.

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