iv在jqgrid中看到了@Oleg的行总和示例,但我尝试应用它,但它无法正常工作,我有以下网格,我需要为其计算金额值。
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)帮助,我已经尝试了您的示例,但是由于某些原因它没有起作用。
如果我理解的正确,则希望将其放置在页脚getCol和footerData方法中:
var grid = $("#list"), sum = grid.jqGrid('getCol', 'amount', false, 'sum'); grid.jqGrid('footerData','set', {ID: 'Total:', amount: sum});
该getCol可用于从“量”柱,并且尊重计算所有数字的总和footerData,你可以在底部放置'ID'列中的文本“总计:”和在底部'amount'列。
getCol
footerData
'ID'
'amount'
更新 :可能因为将代码放置在错误的位置而出现问题。代码最安全的地方是loadComplete事件处理程序。看一下演示。
loadComplete