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
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.