void UpdateTotals()
{
// 完了するまで再描画しません
_flex.Redraw = false;
// 古い小計があればクリアします
_flex.Subtotal(AggregateEnum.Clear);
// グループ化される列に基づいてグリッドをソートします
_flex.Sort(SortFlags.Ascending, 0, 3);
// 列 0 のアウトラインツリーを表示します
_flex.Tree.Column = 0;
// 総計を取得します(列インデックスではなく -1 を使用)
_flex.Subtotal(AggregateEnum.Sum, -1, -1, 3, "Grand Total");
// 列 0(最初は Product)を小計します
_flex.Subtotal(AggregateEnum.Sum, 0, 0, 3);
// 列 1(最初は Region)を小計します
_flex.Subtotal(AggregateEnum.Sum, 1, 1, 3);
// アウトラインレベル 1 を表示します
_flex.Tree.Show(1);
// 描画を復元します
_flex.Redraw = true;
}
void _flex_AfterDragColumn(object sender, C1.Win.C1FlexGrid.DragRowColEventArgs e)
{
UpdateTotals(); // ユーザーが列を移動したので、合計を更新します
}