SMART datagridグリッドでは簡単にカラム毎の合計を計算して表示することができる。 今回のサンプルでは数字フィールドに繋がったカラムのFooterに合計を表示する基本的な方法について説明する。
現在"varp(分散)"を表示するように設定されている"取消金額"カラムのフッターには値が表示されないでいるが、 グリッドのsummaryModeがSummaryMode.AGGREGATEになっているからである。 varp(分散)やstdev(標準偏差)などのような通計的である値を計算して表示するためには グリッドsummaryModeをSummaryMode.STATISTICALに設定しなければならない。 上のSummarMode選択ボックスで選択を変更してみる。
selSumMode_change: function (ev) {
grdMain.displayOptions().setSummaryMode(ev.target.value);
}
カラムフッターの表示する合計は動的に変更可能である。 取消金額の合計の変更の選択値を変更すれば取消金額カラムフッターの表示の値が変更になる。
selCancelledSum_change: function (ev) {
var column = grdMain.columnByName('CancelledAmount')
var value = ev.target.value;
column.footer().setExpression(value);
}
現在グリッドで計算されたカラムの合計が必要な場合がある。 GridBase.getSummaryメソッドを利用すれば種類ごとカラムの合計の値を取得してくることができる。
btnSummary_click: function (ev) {
var value = document.getElementById('selSumExp').value;
value = grdMain.getSummary('original_amount', value);
alert(ev.target.value + ' = ' + value);
}
何より、カラムフッターに表示される合計の値はデータセルの現在の値たちと同期化される。 つまり、データセルたちの値を変更すれば即に合計に反映されて、フッターの値も変更になる。 ソースを見る