Параметры изменения jQgrid отправлены на сервер - PullRequest
2 голосов
/ 01 февраля 2012

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

Параметры, которые я хочу изменить, следующие: (строки заменяются на max через prmNames)

/&max=20&page=1&sidx=&sord=asc

Я пытался использовать:

   $.extend($.jgrid.defaults, {
    sidx:"fName",
    sord:"desc",
    page:2,
    rows:10});

и варианты:

      beforeRequest:function(){
        $('#grid').jqGrid('setGridParam', {
            sidx: "fName",
            sord: "desc",
            page: 2,
            max: 10
        });

    }

Он изменяет значение для page, используя $ .extend ($. Jgrid.defaults ..., но я не могу изменить другие параметры.

1 Ответ

5 голосов
/ 02 февраля 2012

Вам просто нужно использовать setGridParam, чтобы установить параметры jqGrid с другими именами: sidx, sord, page и rows.

sidx -> sortname
sord -> sortorder
page -> page
rows -> rowNum

Так что лучше всего было бы создать jqGrid напрямую с указанными выше параметрами, инициализированными из cookie.

Если у вас возникнут проблемы с созданием сетки напрямую с необходимыми параметрами, вы можете сначала создать сетку с помощью datatype: 'local', которая предотвратит загрузку сетки. Затем вы меняете нужные параметры и дополнительно устанавливаете datatype на нужное вам значение («json» или «xml»). В конце вы перезагрузите сетку. Таким образом, код должен быть похож на следующий

$('#list').jqGrid('setGridParam', {
    datatype: 'json',
    sortname: "fName",
    sortorder: "desc",
    page: 2,
    rowNum: 10
}).trigger('reloadGrid');

Если у вас возникнут проблемы с созданием сетки напрямую с нужными вам параметрами. дополнительно создайте сетку с помощью datatype: 'local', это предотвратит загрузку сетки

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