作成日: 2020/03/18 最終更新日: 2020/03/18
文書種別
使用方法
詳細
連結グリッドで、Subtotalメソッドを使用して小計行を表示し、列ヘッダのクリックによってデータをソートすると、小計行は非表示になります。これは、ソートによってグリッドがデータセットのデータでリフレッシュされ、SubTotalの設定が解除されるためです。
ソート後も小計行を表示したままにするには、データのソート後に発生するAfterDataRefreshイベントで、Subtotalメソッドを再度実行してください。
◎サンプルコード(VB)
ソート後も小計行を表示したままにするには、データのソート後に発生するAfterDataRefreshイベントで、Subtotalメソッドを再度実行してください。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' DataTableの設定
Dim dt As New DataTable()
dt.Columns.Add("列1", GetType(Integer))
dt.Columns.Add("列2", GetType(Integer))
dt.Rows.Add(1, 180)
dt.Rows.Add(2, 80)
dt.Rows.Add(3, 20)
Me.C1FlexGrid1.DataSource = dt
' 小計の設定
C1FlexGrid1.SubtotalPosition = C1.Win.C1FlexGrid.SubtotalPositionEnum.AboveData
C1FlexGrid1.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Clear)
C1FlexGrid1.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Sum, -1, -1, 2, "Grand Total")
End Sub
Private Sub C1FlexGrid1_AfterDataRefresh(sender As Object, e As System.ComponentModel.ListChangedEventArgs) Handles C1FlexGrid1.AfterDataRefresh
C1FlexGrid1.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Sum, -1, -1, 2, "Grand Total")
End Sub
◎サンプルコード(C#) private void Form1_Load(object sender, EventArgs e)
{
// DataTableの設定
DataTable dt = new DataTable();
dt.Columns.Add("列1", typeof(int));
dt.Columns.Add("列2", typeof(int));
dt.Rows.Add(1, 180);
dt.Rows.Add(2, 80);
dt.Rows.Add(3, 20);
this.c1FlexGrid1.DataSource = dt;
// 小計の設定
c1FlexGrid1.SubtotalPosition = C1.Win.C1FlexGrid.SubtotalPositionEnum.AboveData;
c1FlexGrid1.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Clear);
c1FlexGrid1.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Sum, -1, -1, 2, "Grand Total");
}
private void c1FlexGrid1_AfterDataRefresh(object sender, ListChangedEventArgs e)
{
c1FlexGrid1.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Sum, -1, -1, 2, "Grand Total");
}
旧文書番号
85028