###前提・実現したいこと
jqGridを使用しております。やりたいことは、オプションによりgroupingを行った行の特定列で他の列の合計値を参照して計算結果を出したいのですが、そのやり方がわかりません。
イメージ)
|aカテゴリ|b商品名|c売上|d販売数|e商品単価(←計算 c÷d)|f客数|g顧客単価(←計算 c÷f)|
|:-|-:|:-:|
|Xgroup|A|10000|100|100|10|1000|
|Xgroup|B|3000|10|300|5|600|
|=>grouping||13000|110|90.9←算出したい|15|866.7←算出したい|
|Ygroup|C|10000|100|100|10|1000|
|Ygroup|D|3000|10|300|5|600|
|=>grouping||13000|110|90.9←算出したい|15|866.7←算出したい|
###該当のソースコード
以下が該当のソースコードです。
こちらの計算をすると、各行の計算結果の最終行(Xgroupでは商品名Bの算出結果:300)が表示されてしまいます。)
JavaScript
1//=>jqGridのオプションでmyColModelをcolModelにセット 2//colModel: myColModel 3var myColModel = [ 4 {name : 'カテゴリ'}, 5 {name : '商品名'}, 6 {name : '売上'}, 7 {name : '販売数'}, 8 {name : '商品単価'}, 9 {name : '客数'}, 10 {name : '顧客単価'}, 11] 12var myData={ 13 [カテゴリ: Xgroup, 商品名: A, 売上: 10000,販売数:100,商品単価:100,客数:10,顧客単価:1000], 14///省略 15} 16 17var calc_cals = ['商品単価','客単価']; 18var child_parent = {'商品単価':{parent:'販売数',child:'売上'},'顧客単価':{parent:'客数',child:'売上'}}; 19 20for (var i in myColModel){ 21 if (myColModel[i][name] == '商品単価' || myColModel[i][name] == '客単価'){ 22 var get_name=myColModel[i][name]; 23 24 child[get_name] = child_parent[get_name]['child']; 25 parent[get_name] = child_parent[get_name]['parent']; 26 27 myColModel['summaryType'] 28 = function(cellvalue , name, rowobject){ 29 var rslt = parseFloat(rowobject[child[name]]) / parseFloat(rowobject[parent[name]]); 30 31 return rslt;} 32 } 33}
こちら、どのようにしたら、合計数値を使って計算ができるかご教示いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。