我正在寻找一种方法让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})
});
答案 0 :(得分:0)
似乎已在moving to other page programmatically
中回答希望这可以在你的情况下使用。
答案 1 :(得分:0)
我实际上想出了如何在不加载网格然后加载最后一页的情况下执行此操作(因此您只需加载网格一次)。
当您启动jqGrid时,您需要执行以下操作:
$('#list').jqGrid({
...
page: 'last'
...
});
这将在初始加载数据时发送page = last。所以在我的数据请求方法(服务器端)内部,我有以下内容:
if (page == "last")
{
iPage = (int)Math.Ceiling(results.Count/(double)rows);
}
现在您知道最后一页的内容,并且可以跳过正确的行数:
results.Skip(rows * (iPage - 1)).Take(rows)
由于我使用的是json而不是XML,因此我继续将典型结构(行,页面,总页数,总记录)作为json返回。