如何获得jqgrid列的总和
问题描述:
我在jqgrid,ShopID和NetSales中有两列,我想添加Contribution Column
这将是一个计算列。该公式是NetSales除以Total。例如,请参阅图像。 如何获得jqgrid列的总和
我知道如何使用getCol
这样的getCol
这样var sumtotal = grid.jqGrid('getCol', 'NetSales', false, 'sum');
,但不知道如何进一步使用它进行除法。我试过了,但它没有奏效。请帮忙。
我
答
通常你有如前所述到您应该计算在列的总和来把数据放到网格之前的说明两种方式来解决这个问题
。如果你有这个值,你可以使用自定义的fomatter来计算百分比。在这种情况下,计算出的总和应该在范围内定义为全局。
这种直接计算,而无需使用任何jqGrid的方法 - 见下文
假设你有一个像这样
mydata = [
{ShipId: 1, NetSales: 150000},
{ShipId: 2, NetSales: 200000},
...
]
你可以很容易做到本地数据(没有检查它仅仅是想法)
var sum = 0;
$.each(mydata, function(i, row) {
sum += parseFloat(row.NetSales);
}
$.each(mydata, function(i, row) {
if (sum > 0) {
row.Contribution = parseFloat(row.NetSales)/sum*100;
}
}
然后把MYDATA的jqGrid中的情况下直接做任何计算和u自定义格式化程序以显示百分比。
哪个'datatype'有网格?我建议你不要使用计算列。计算直接拥有数据的总和非常简单。有了总和,您可以根据列中的总和和NetSales填充“贡献”列的数据。 – Oleg
@ Oleg,我有本地数据类型先生。 – davidb