问题的原因很容易解释。属性summaryTpl: "Sum: {0}", summaryType: "sum" 用于数据分组,而不是用于在页脚行中放置一些数据。要填充页脚,您可以使用userDataOnFooter: true 选项和 来指定userData 选项,或者调用footerData 来明确设置页脚的内容。
demo https://jsfiddle.net/OlegKi/dnfk8hmr/139/先计算总和
var i, sum = 0;
for (i = 0; i < data.length; i++) {
sum += parseInt(data[i].id, 10);
}
然后使用选项
footerrow: true,
userDataOnFooter: true,
userData: { id: sum }
创建页脚并在页脚行的id 列中设置计算的总和。
另一个演示 https://jsfiddle.net/OlegKi/dnfk8hmr/138/ 在 loadComplete 中使用 footerData 和 getCol 方法
footerrow: true, // the footer will be used for Grand Total
loadComplete: function () {
var $self = $(this);
$self.jqGrid("footerData", "set", {
id: parseFloat($self.jqGrid("getCol", "id", false, "sum"))
});
}
值得注意的是,演示中使用的getCol只能从当前页面访问数据。您可以在演示https://jsfiddle.net/OlegKi/dnfk8hmr/140/ 中看到这一点,其中rowNum 更改为2。