$("#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> <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) + '"';
}
}
});