PowerTools SPREAD for Windows Forms 10.0J > 開発者ガイド > データ操作 > グループ化 > グループフッタ |
グループ下部にグループフッタを表示できます。グループフッタを表示するには、列フッタを表示する必要があります。列フッタの詳細については「列フッタ」を参照してください。
ColumnFooter クラスのVisible プロパティをtrueに設定し、列フッタを表示します。また、SheetView クラスのGroupFooterVisible プロパティをtrueに設定し、グループフッタの表示を有効にします。
グループフッタにデータを設定するには、Groupedイベントを使用します。
次のサンプルコードは、列フッタに2列目の値の合計を表示します。また、グループフッタを表示し、各グループごとに2列目の値の合計を表示します。
C# |
コードのコピー
|
---|---|
private void Form1_Load(object sender, EventArgs e) { fpSpread1.Sheets[0].RowCount=8; fpSpread1.Sheets[0].ColumnCount = 15; fpSpread1.AllowColumnMove = true; fpSpread1.Sheets[0].GroupBarInfo.Visible = true; fpSpread1.Sheets[0].AllowGroup = true; fpSpread1.Sheets[0].GroupFooterVisible = true; fpSpread1.Sheets[0].ColumnFooter.Visible = true; fpSpread1.Sheets[0].ColumnFooter.RowCount = 2; fpSpread1.Sheets[0].ColumnFooter.Columns[12].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left; fpSpread1.Sheets[0].ColumnFooter.Cells[0, 12].RowSpan = 2; //Value for (int r = 0; r < fpSpread1.Sheets[0].RowCount; r++) { for (int j = 0; j < fpSpread1.Sheets[0].ColumnCount; j++) { fpSpread1.Sheets[0].Models.Data.SetValue(r, j, j + r * fpSpread1.Sheets[0].ColumnCount); } } int i = 0; fpSpread1.Sheets[0].ColumnFooter.SetAggregationType(0,1, FarPoint.Win.Spread.Model.AggregationType.Sum); fpSpread1.Sheets[0].ColumnFooter.Cells[0, i].Value = "Sum"; } private void FpSpread1_Grouped(object sender, EventArgs e) { FarPoint.Win.Spread.Model.GroupDataModel gdm; gdm = (FarPoint.Win.Spread.Model.GroupDataModel)fpSpread1.ActiveSheet.Models.Data; gdm.GroupFooterVisible = true; foreach(FarPoint.Win.Spread.Model.Group g in gdm.Groups) { ((FarPoint.Win.Spread.Model.IAggregationSupport)g.GroupFooter.DataModel).SetCellAggregationType(0, 1, FarPoint.Win.Spread.Model.AggregationType.Sum); } } |
Visual Basic |
コードのコピー
|
---|---|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load FpSpread1.Sheets(0).RowCount = 8 FpSpread1.Sheets(0).ColumnCount = 15 FpSpread1.AllowColumnMove = True FpSpread1.Sheets(0).GroupBarInfo.Visible = True FpSpread1.Sheets(0).AllowGroup = True FpSpread1.Sheets(0).GroupFooterVisible = True FpSpread1.Sheets(0).ColumnFooter.Visible = True FpSpread1.Sheets(0).ColumnFooter.RowCount = 2 fpSpread1.Sheets(0).ColumnFooter.Columns(12).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left 'Value Dim r As Integer Dim j As Integer For r = 0 To FpSpread1.Sheets(0).RowCount For j = 0 To FpSpread1.Sheets(0).ColumnCount FpSpread1.Sheets(0).Models.Data.SetValue(r, j, j + r * FpSpread1.Sheets(0).ColumnCount) Next j Next r Dim i As Integer i = 0 FpSpread1.Sheets(0).ColumnFooter.SetAggregationType(0, 1, FarPoint.Win.Spread.Model.AggregationType.Sum) FpSpread1.Sheets(0).ColumnFooter.Cells(0, i).Value = "Sum" End Sub Private Sub FpSpread1_Grouped(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.Grouped Dim gdm As FarPoint.Win.Spread.Model.GroupDataModel gdm = DirectCast(FpSpread1.ActiveSheet.Models.Data, FarPoint.Win.Spread.Model.GroupDataModel) gdm.GroupFooterVisible = True For Each g As FarPoint.Win.Spread.Model.Group In gdm.Groups DirectCast(g.GroupFooter.DataModel, FarPoint.Win.Spread.Model.IAggregationSupport).SetCellAggregationType(0, 1, FarPoint.Win.Spread.Model.AggregationType.Sum) Next End Sub |