jqgrid如何获取某列的总和
How to get the total sum of a column in jqgrid
我在 jqgrid 中有两列,ShopID 和 NetSales,我想添加 Contribution Column
这将是一个计算列。公式是 NetSales 除以 Total。例如,请看图片。
我知道如何使用 getCol
像这样 var sumtotal = grid.jqGrid('getCol', 'NetSales', false, 'sum');
获得总计,但不知道如何进一步使用它进行除法。我试过了,但没用。请帮忙。
我
通常你有两种解决问题的方法
如注释中所述,您应该在将数据放入网格之前计算列的总和。如果你有这个值,你可以使用自定义格式来计算百分比。在这种情况下,计算的总和应在范围内定义为全局。
不使用任何 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里面,不做任何计算,用自定义的formatter来显示百分比
我在 jqgrid 中有两列,ShopID 和 NetSales,我想添加 Contribution Column
这将是一个计算列。公式是 NetSales 除以 Total。例如,请看图片。
我知道如何使用 getCol
像这样 var sumtotal = grid.jqGrid('getCol', 'NetSales', false, 'sum');
获得总计,但不知道如何进一步使用它进行除法。我试过了,但没用。请帮忙。
我
通常你有两种解决问题的方法
如注释中所述,您应该在将数据放入网格之前计算列的总和。如果你有这个值,你可以使用自定义格式来计算百分比。在这种情况下,计算的总和应在范围内定义为全局。
不使用任何 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里面,不做任何计算,用自定义的formatter来显示百分比