FooterSummary Column正在计算jqgrid中当前页面的总和

时间:2013-02-11 07:05:42

标签: asp.net jqgrid

Hii伙计!!                我在jqgrid中添加了footerrow来显示列的摘要,但它只计算当前页面的总和并显示在页脚行中。 我在jqgrid中添加了过滤器工具栏来过滤记录。根据我的需要,我想要总和 来自整个网格的特定列并且它应该在我们过滤记录时起作用,并且摘要应该来自特定列的整个网格中存在的当前数据...

这是我计算摘要的代码....

$(function () {
var gridData = null;
var nn = null;
$.ajax({
    url: 'Default.aspx/MyMethod',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    type: 'POST',
    success: function (ReportDataNew, textStatus, XMLHttpRequest) {
        //debugger;
        gridData = JSON.parse(ReportDataNew.d);
        console.log(gridData);
        //alert(gridData.length);

        grid = $("#gridId"),
            calculateTotal = function () {
                var totalAmount = grid.jqGrid('getCol', 'price', false, 'sum');
                grid.jqGrid('footerData', 'set', { name: 'TOTAL', price: totalAmount });
            };

在这里,我正在填充我的网格......

 $("#gridId").jqGrid({
            data: gridData,
            datatype: "local",
            height: '100%',
            autowidth: true,
            ignoreCase: true,
            rowNum: 100,
            rowList: [100, 200, 300],
            colNames: ['UserName', 'Ordinal', 'Extension', 'Trunk', 'Dialnumber', 'DialDate', 'DialTime', 'Duration', 'Destination', 'Price'],
            colModel: [
                       { name: 'username', index: 'username', width: 100, sortable: true, align: 'center' },
                       { name: 'price', index: 'price', width: 100, sortable: true, align: 'center'}

                      ],
            pager: '#gridpager',
            viewrecords: true,
            toppager: true,
            loadtext: 'Loading...',
            footerrow: true,
            userDataOnFooter: true,
            gridComplete: function () {
                calculateTotal();
            }

1 个答案:

答案 0 :(得分:-1)

如果您正在计算服务器端的总和,那么您可能正在对分页结果进行计算。展开计算以包括整个记录集,而不仅仅是在其显示的当前页面中传递给jqGrid的部分。