jQgrid更改参数发送到服务器

Jay*_*aym 2 jqgrid

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

我想改变的参数如下,(行通过prmNames替换行)

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

我尝试过使用:

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

和变化:

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

    }
Run Code Online (Sandbox Code Playgroud)

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

Ole*_*leg 5

你只需要使用setGridParam设置的jqGrid的参数,有另一个名称为sidx,sord,pagerows.

sidx -> sortname
sord -> sortorder
page -> page
rows -> rowNum
Run Code Online (Sandbox Code Playgroud)

所以最好的方法是直接使用从cookie初始化的上述参数创建 jqGrid.

如果您在使用所需参数直接创建网格时遇到问题,可以先创建网格,datatype: 'local'以防止加载网格.然后你改变你需要的参数,并另外设置你需要datatype的值('json'或'xml').最后重新加载网格.所以代码应该如下所示

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

如果您在使用所需参数直接创建网格时遇到问题.另外用datatype: 'local'它创建网格将阻止加载网格