6

嗨伙计们!我在jqgrid中显示数据并在jqgrid中启用'footerrow:true'现在根据我的需要,我想在页脚行上显示特定列的总和......请帮助我,因为我第一次使用Jqgrid......

提前致谢....

4

1 回答 1

17

如果要对 jqGrid 中的值求和,可以在 JavaScript 中进行(最好在gridComplete事件中):

$('#gridId').jqGrid({
    ...
    footerrow: true,
    gridComplete: function() {
        var $grid = $('#gridId');
        var colSum = $grid.jqGrid('getCol', '<Your column name>', false, 'sum');
        $grid.jqGrid('footerData', 'set', { 'Your column name>: colSum });
    }
});

如果需要在服务器端计算总和,则必须先启用userDataOnFooter选项:

$('#gridId').jqGrid({
    ...
    footerrow : true,
    userDataOnFooter : true
});

然后在您的服务器响应中包含总和。例如,在 JSON 的情况下,它应该如下所示:

{
    total: x,
    page: y,
    records: z,
    rows : [
        ...
    ],
    userdata: { <Your column name>: <sum counted on server side> }
}

您还可以查看jqGrid Demos页面上提供的实时示例(您应该选择“New in Version 3.5”,然后选择“Summary Footer Row”)。

于 2013-01-23T14:45:00.467 回答