iv看到了@Oleg在jqgrid中对行总和的一个例子,但我试图应用它并且它不能工作我有以下网格我需要计算它的金额值。
colNames: ['ID', 'FTE', 'Workload'],
colModel: [
{ name: 'ID', index: 'ID', width: 200, align: 'left', hidden: true },
{ name: 'FTEValue', index: 'FTEValue', width: 200, align: 'left', formatter: 'number' },
{ name: 'Workload', index: 'Workload', width: 200, align: 'left' },
caption: "Activity FTE",
gridview: true,
rownumbers: true,
rownumWidth: 40,
scroll: 0,
rowNum: 100,
sortname: 'ID',
pager: '#pager',
sortorder: "asc",
viewrecords: true,
autowidth: true,
height: '100%',
footerrow: true,
jsonReader: { root: "GridData", page: "CurrentPage", total: "TotalPages", records: "TotalRecords", repeatitems: false, id: "0" }
};
DutyFTEGrid.prototype.SetupGrid = function (selector) {
jQuery(selector).html('<table id="grid"></table><div id="pager"></div>');
var grid = jQuery("#grid").jqGrid(this.gridConfiguration);
jQuery("#grid").jqGrid('navGrid', '#pager',
{ edit: false, add: false, search: false }, {}, {},
{ // Delete parameters
ajaxDelOptions: { contentType: "application/json" },
mtype: "DELETE",
serializeDelData: function () {
return "";
},
onclickSubmit: function (params, postdata) {
params.url = serviceURL + 'DutyFTE(' + encodeURIComponent(postdata) + ')/';
}
});
var grid = $("#grid");
var sum = grid.jqGrid('getCol', 'FTE', false, 'sum');
grid.jqGrid('footerData', 'set', { DriverEn: 'Total FTE:', FTEValue: sum });
};
Oleg你的帮助,我已经尝试了你的例子,但由于某种原因它没有用。
答案 0 :(得分:19)
如果我理解你的错误,你想要放在页脚getCol和footerData方法中:
var grid = $("#list"),
sum = grid.jqGrid('getCol', 'amount', false, 'sum');
grid.jqGrid('footerData','set', {ID: 'Total:', amount: sum});
getCol
可用于计算“金额”列中所有数字的总和,以及您可以放置在footerData
列底部的'ID'
的文本总和“总计:”,位于'amount'
列的底部。
更新:您可能遇到问题,因为您将代码放在了错误的位置。代码最安全的地方是loadComplete
事件处理程序。请看the demo。
答案 1 :(得分:0)
价格列总计:
//Count total for a price column
var total = 0;
$('#table tr').each(function(){
//cells that contains the price
var tdprice = $(this).find("td:eq(2)").html();
//Sum it up!
if (isNaN(tdprice)){ total += parseInt(tdprice); }
});
alert(total + "$");