我正在使用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 ...的值),但我无法更改其他参数.
你只需要使用setGridParam设置的jqGrid的参数,有另一个名称为sidx,sord,page和rows.
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'它创建网格将阻止加载网格