0

嗨伙计们!我在 jqgrid 中添加了页脚以显示列的摘要,但它仅计算当前页面的总和并显示到页脚行中。我在 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();
            }
4

1 回答 1

-1

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

于 2013-02-11T14:28:03.230 回答