我的页面上有一个 jqGrid,它具有分组并包含几列(A、B、C、D)。如何使每个组中 D 列的摘要(即总行)如下:sum(D)/Sum(A) * 100?
我知道我可以为 summaryType 定义一个自定义函数,例如: summaryType: mysum 但我不太确定,如何使用它来执行上述公式?请注意,A、B 和 C 列的 summaryType 设置如下: summaryType: 'sum' 因此它们是使用内置求和功能进行计算的。我还想知道我是否可以在 jqGrid 的 loadComplete 事件中以某种方式解决这个问题?
我设法通过执行以下操作来实现这一目标:
我为 A 列和 C 列的当前值定义全局变量,当前组由
var tColA = 0.0;
var tColD = 0.0;
var tCurrentGroupBy;
然后在我的函数中,我执行以下操作:
function mysum(a, b, c) {
if (tCurrentGroupBy!= c.GroupByCol) {
tColA= 0.0;
tColD = 0.0;
tCurrentGroupBy= c.GroupByCol;
tColA= tColA + parseFloat(c.ColA);
tColD = tColD + parseFloat(c.ColD);
}
else {
tColA= tColA + parseFloat(c.ColA);
tColD = tColD + parseFloat(c.ColD);
}
return ((tColD / tColA) * 100);
}
不确定是否有更好的方法可以做到这一点,但这似乎有效。还有其他建议吗?谢谢。