グループ化され、複数の列 (A、B、C、D) を含むページに jqGrid があります。各グループ内の列 D の集計 (合計行) を次のようにするにはどうすればよいですか? sum(D)/Sum(A) * 100?
summaryType のカスタム関数を定義できることはわかっています。列 A、B、および C はすべて、summaryType: 'sum' のように summaryType が設定されているため、組み込みの合計機能を使用して計算されることに注意してください。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);
}
これを行うためのより良い方法があるかどうかはわかりませんが、これはうまくいくようです。他の提案はありますか?ありがとう。