作成日: 2023/09/01 最終更新日: 2023/09/01
文書種別
使用方法
詳細
C1FlexGridのFootersプロパティを使用して、グリッドに列フッター(フッター行)を追加できます。 フッター行はグリッドの最下部に配置され、列全体に関する追加的な情報※を表示できます。
※追加情報
列の集計値(合計、平均など)、キャプション、列インデックス、列名、セルの式などを表示できます。セルの式は、Aggregate プロパティが設定されていない (AggregateEnum.None) 場合に使用されます。
フッター行を追加するには、FootersオブジェクトのDescriptionsコレクションにFooterDescription型のアイテムを追加します。FooterDescriptionクラスのAggregatesプロパティを使用して、列フッターに集計結果を表示できます。
フッター行は、グリッドの最下部に固定するか、通常行に続けて表示するかを指定できます(Fixedプロパティを使用)。
詳細については、製品ヘルプの「ヘッダーとフッター」をご参照ください。
【メモ】
フッター行はグリッドの通常の行ではなく、独立したフッター領域として定義されます。 Rows.Countには含まれませんので、ご留意ください。
以下に、フッター行にデータの個数、平均、合計を表示するサンプルコードを記載します。

◎サンプルコード(VB)
※追加情報
列の集計値(合計、平均など)、キャプション、列インデックス、列名、セルの式などを表示できます。セルの式は、Aggregate プロパティが設定されていない (AggregateEnum.None) 場合に使用されます。
フッター行を追加するには、FootersオブジェクトのDescriptionsコレクションにFooterDescription型のアイテムを追加します。FooterDescriptionクラスのAggregatesプロパティを使用して、列フッターに集計結果を表示できます。
フッター行は、グリッドの最下部に固定するか、通常行に続けて表示するかを指定できます(Fixedプロパティを使用)。
詳細については、製品ヘルプの「ヘッダーとフッター」をご参照ください。
【メモ】
フッター行はグリッドの通常の行ではなく、独立したフッター領域として定義されます。 Rows.Countには含まれませんので、ご留意ください。
以下に、フッター行にデータの個数、平均、合計を表示するサンプルコードを記載します。
◎サンプルコード(VB)
Imports C1.Win.C1FlexGrid
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As DataTable = New DataTable("TEST")
dt.Columns.Add("ColumnA", Type.GetType("System.String"))
dt.Columns.Add("ColumnB", Type.GetType("System.Int32"))
dt.Columns.Add("ColumnC", Type.GetType("System.Int32"))
dt.Columns.Add("ColumnD", Type.GetType("System.Double"))
Dim i As Integer
For i = 0 To 9
dt.Rows.Add(String.Format("A{0}", i + 1), i + 1, (i + 1) * 100, (i + 1) * 10 + 100)
Next
dt.AcceptChanges()
' FlexGridの設定
C1FlexGrid1.DataSource = dt
C1FlexGrid1.Cols.Fixed = 0 '固定列なし
C1FlexGrid1.AllowAddNew = False ' ユーザーによる新規行追加の禁止
' 列フッタの追加
C1FlexGrid1.Footers.Descriptions.Add(New FooterDescription() With
{
.Caption = "Total"
})
' フッタに集計を適用(個数)
C1FlexGrid1.Footers.Descriptions(0).Aggregates.Add(New C1.Win.C1FlexGrid.AggregateDefinition() With {
.Column = 1,
.Caption = "個数:{0:F0}",
.Aggregate = C1.Win.C1FlexGrid.AggregateEnum.Count
})
' フッタに集計を適用(平均)
C1FlexGrid1.Footers.Descriptions(0).Aggregates.Add(New C1.Win.C1FlexGrid.AggregateDefinition() With {
.Column = 2,
.Caption = "平均:{0:F1}",
.Aggregate = C1.Win.C1FlexGrid.AggregateEnum.Average
})
' フッタに集計を適用(合計)
C1FlexGrid1.Footers.Descriptions(0).Aggregates.Add(New C1.Win.C1FlexGrid.AggregateDefinition() With {
.Column = 3,
.Caption = "合計:{0:F0}",
.Aggregate = C1.Win.C1FlexGrid.AggregateEnum.Sum
})
' フッタの固定
C1FlexGrid1.Footers.Fixed = True
' フッタのフォント設定
C1FlexGrid1.Styles.Footer.Font = New Font("メイリオ", 9, FontStyle.Bold)
' フッタ行の背景色
C1FlexGrid1.Styles.Footer.BackColor = Color.LightBlue
End Sub
End Class
◎サンプルコード(C#)
using C1.Win.C1FlexGrid;
namespace prj_C1FlexGrid
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// データの作成
DataTable dt = new DataTable("TEST");
dt.Columns.Add("ColumnA", Type.GetType("System.String"));
dt.Columns.Add("ColumnB", Type.GetType("System.Int32"));
dt.Columns.Add("ColumnC", Type.GetType("System.Int32"));
dt.Columns.Add("ColumnD", Type.GetType("System.Double"));
int i;
for (i = 0; i <= 9; i++)
dt.Rows.Add(string.Format("A{0}", i + 1), i + 1, (i + 1) * 100, (i + 1) * 10 + 100);
dt.AcceptChanges();
// FlexGridの設定
c1FlexGrid1.DataSource = dt;
c1FlexGrid1.Cols.Fixed = 0; // 固定列なし
c1FlexGrid1.AllowAddNew = false; // ユーザーによる新規行追加を禁止
// 列フッタの追加
c1FlexGrid1.Footers.Descriptions.Add(new FooterDescription()
{
Caption = "フッター行"
});
// フッタに集計を適用(個数)
c1FlexGrid1.Footers.Descriptions[0].Aggregates.Add(new C1.Win.C1FlexGrid.AggregateDefinition()
{
Column = 1,
Caption = "個数:{0:F0}",
Aggregate = C1.Win.C1FlexGrid.AggregateEnum.Count
});
// フッタに集計を適用(平均)
c1FlexGrid1.Footers.Descriptions[0].Aggregates.Add(new C1.Win.C1FlexGrid.AggregateDefinition()
{
Column = 2,
Caption = "平均:{0:F1}",
Aggregate = C1.Win.C1FlexGrid.AggregateEnum.Average
});
// フッタに集計を適用(合計)
c1FlexGrid1.Footers.Descriptions[0].Aggregates.Add(new C1.Win.C1FlexGrid.AggregateDefinition()
{
Column = 3,
Caption = "合計:{0:F0}",
Aggregate = C1.Win.C1FlexGrid.AggregateEnum.Sum
});
// フッタの固定
c1FlexGrid1.Footers.Fixed = true;
// フッタのフォント設定
c1FlexGrid1.Styles.Footer.Font = new Font("メイリオ", 9, FontStyle.Bold);
// フッタ行の背景色
c1FlexGrid1.Styles.Footer.BackColor = Color.LightBlue;
}
}
}