我是Jqgrid的新手。我对这个分页有疑问。
JSP
$("#jqGridTable").jqGrid({
colModel: [
{ label: 'A', name: 'a', key: true, width: 120, align:'center',sortable:false},
{ label: 'B', name: 'b', width: 120, align:'center',sortable:false },
{ label: 'C', name: 'c', width: 170, align:'center', sorttype:'number',formatter:'number', sortable:false, summaryType:'sum' },
{ label: 'D', name: 'd', width: 180, align:'center',sortable:false, summaryType:'sum' },
{ label: 'E', name: 'e', width: 180, align:'center',sortable:false, summaryType:'sum' }
],
jsonReader: "rows",
guiStyle: "bootstrap",
pager: '#jqGridPager',
viewrecords: true,
sortorder: "asc",
caption: "Result",
grouping: true,
groupingView : {
groupField : ['b'],
groupColumnShow : [false],
groupText : ['<b>{0}</b>'],
groupCollapse : false,
groupSummary : [true],
showSummaryOnHide: true,
groupDataSorted : true
},
footerrow: true,
userDataOnFooter: true
});
$("#startQuery").click(function(event) {
event.preventDefault();
//reload Data from OperationQuality table
jQuery('#jqGridTable').jqGrid('setGridParam', {
url: '${contextPath}/analyze/quality/op-quality/query.do',
datatype: 'json',
rowNum: 4
}).trigger('reloadGrid');
});
来自服务器的数据是6条记录。 第1页上显示了4条记录,但分页在此处不起作用。 我错过了什么吗?
谢谢
答案 0 :(得分:0)
jqGrid可用于分页使用的两个主要场景:服务器端配对和客户端分页。您目前使用datatype: 'json'
而不是选项loadonce: true
和forceClientSorting: true
。因此,您使用服务器端分页方案。这意味着服务器应该只返回一页数据。发送到服务器的参数page
和rows
会通知服务器页面大小和客户端请求的页码。
如果你想一次性返回所有数据并且你希望客户端(jqGrid)对返回数据进行排序,它也会进行分页,那么你应该同时添加loadonce: true
和jqGrid的forceClientSorting: true
选项。
答案 1 :(得分:0)