我在jqgrid,ShopID和NetSales中有两列,我想添加Contribution Column
这将是一个计算列。公式是NetSales除以Total。请参见图片。
我知道如何使用getCol
这样的var sumtotal = grid.jqGrid('getCol', 'NetSales', false, 'sum');
获取总计,但不知道如何进一步使用它进行划分。我试过了,但它没有用。请帮忙。
我
答案 0 :(得分:2)
通常,您有两种方法来解决问题
如前所述,您应该在将数据放入网格之前计算列的总和。如果您有此值,则可以使用自定义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中而不进行任何计算,并使用自定义格式化程序来显示百分比。