jQgrid更改参数发送到服务器

时间:2012-02-01 19:41:53

标签: jqgrid

我正在使用Cookie来加载用户以前的排序和分页选项。我想获取这些保存的值,并将它们设置为服务器接收的参数。

我希望更改的参数如下,(行数由max via 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
        });

    }

它使用$ .extend($。jgrid.defaults ...更改page的值,但我无法更改其他参数。

1 个答案:

答案 0 :(得分:5)

您只需使用setGridParam设置jqGrid的参数,该参数的另一个名称为sidxsordpagerows

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'创建网格,它将阻止加载网格