Easyui 表格底部加合计

  $("#RetailList").datagrid({
        url: "../Ajax/MemberConsumAjax.ashx",
        queryParams://每次请求的参数
            {
                cmd: 'documentList'
            },
        showFooter: true,
        fitColumns: true,
        pagination: false,   //允许分页
        rownumbers: true,   //行号
        singleSelect: true,//true只能选择一行
        nowrap: true,//如果为true,则在同一行中显示数据。设置为true可以提高加载性能。
        striped: true, //奇偶行是否区分
        collapsible: true,
        columns: [[
             {
               field: "or_Id",
               title: "操作",
               align: "center",
               "80",
               formatter: function (value, row, index) {
                   var str = '<a   href="javascript:void(0)" id="gre"  onclick=Edit(' + row.or_Id + ') >修改</a> &nbsp;<a  href="javascript:void(0)" id="deepRed"  onclick=RedFlush(' + row.or_Id + ')  >红冲</a>';
                    return str;
              }
          },
        {
            field: "or_Date",
            title: "单据日期",
            align: "center",
            "100"
        },
         {
             field: "or_Code",
             title: "单据编码",
             align: "center",
             "150"
             formatter: function (value, rowDate, rowIndex) {
                return "<a id='code' href='javascript:void(0)' onclick="MemberConsume(" + rowDate.or_Id + "," + rowDate.de_Id1 + ")">" + rowDate.or_Code + "</a>";
            }
         },
       
          {
              field: "price",
              title: "单价",
              align: "center",
              "70"
          },
          {
              field: "number",
              title: "数量",
              sum: 'true',
              align: "center",
              "70"
          },

        {
            field: "or_TotalM1",
            sum: 'true',
            title: "金额",
            align: "center",
            "80"
        },
         {
             field: "or_Memo",
             title: "备注",
             align: "center",
             "100"
         }
        ]],
        onLoadSuccess: function (data) {
            $('#RetailList').datagrid('statistics'); //合计
        },
    });
}

//重点
$.extend($.fn.datagrid.methods, {
    statistics: function (jq) {
        var opt = $(jq).datagrid('options').columns;
        var rows = $(jq).datagrid("getRows");
        var footer = new Array();
        footer['sum'] = "";
        for (var i = 0; i < opt[0].length; i++) {
            if (opt[0][i].sum) {
                footer['sum'] = footer['sum'] + sum(opt[0][i].field, 1) + ',';
            }
        }
        var footerObj = new Array();
        if (footer['sum'] != "") {
            var tmp = '{' + footer['sum'].substring(0, footer['sum'].length - 1) + "}";
            var obj = eval('(' + tmp + ')');
            if (obj[opt[0][0].field] == undefined) {
                footer['sum'] += '"' + opt[0][0].field + '":"<b>合计:</b>"';//第0列显示为合计
                obj = eval('({' + footer['sum'] + '})');
            } else {
                obj[opt[0][0].field] = "<b>合计:</b>" + obj[opt[0][0].field];
            }
            footerObj.push(obj);
        }
        if (footerObj.length > 0) {
            $(jq).datagrid('reloadFooter', footerObj);
        }
        function sum(filed) {
            var sumNum = 0;
            var str = "";
            for (var i = 0; i < rows.length; i++) {
                var num = rows[i][filed];
                sumNum += Number(num);
            }
            return '"' + filed + '":"' + sumNum.toFixed(2) + '"';
        }
    }
});
 

原文地址:https://www.cnblogs.com/weimingxin/p/7154587.html