Jqgrid:分页不起作用

时间:2017-11-09 10:19:46

标签: jqgrid

我是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条记录,但分页在此处不起作用。 我错过了什么吗?

谢谢

2 个答案:

答案 0 :(得分:0)

jqGrid可用于分页使用的两个主要场景:服务器端配对和客户端分页。您目前使用datatype: 'json' 而不是选项loadonce: trueforceClientSorting: true。因此,您使用服务器端分页方案。这意味着服务器应该只返回一页数据。发送到服务器的参数pagerows会通知服务器页面大小和客户端请求的页码。

如果你想一次性返回所有数据并且你希望客户端(jqGrid)对返回数据进行排序,它也会进行分页,那么你应该同时添加loadonce: true和jqGrid的forceClientSorting: true选项。

答案 1 :(得分:0)

对于新手来说,首先阅读文档是个好主意。 如果您使用Guriddo jqGrid,您可以查看以下文档页面:

Data - retrieving, mapping, configuration

Pager