グループの集計方法を、数式を使用してカスタマイズできます。

上の図では、在庫数を商品ごとに集計して同じ列に表示するとともに、区分が「仕入」の在庫数を集計して「区分」列に表示しています。
グループの集計方法をカスタマイズするには、グループ ヘッダ/フッタ セルの Formula プロパティに数式を設定します。Formula プロパティが設定されると、グループヘッダ/フッタ セルの AggregationType プロパティの値は自動的に Custom に変更されます。集計は Formula プロパティに設定された数式を使用して実行されます。
グループ化の基準となった列の値など、グループに関する情報を取得するための GROUPINFO 関数が提供されます。次の書式にしたがって使用します。
書式
GROUPINFO(infotype)
引数
infotype 引数には取得する情報の種類を表すコード番号またはコード名を指定します。コード番号およびコード名は次のとおりです。
infotype の値| コード番号 | コード名 | 説明 |
|---|---|---|
| 0 | "groupBy" | グループ化の基準となった列の列名 |
| 1 | "groupText" | グループ化の基準となった列の値 |
| 2 | "groupLevel" | グループ レベルを表す数値 |
| 3 | "groupedRowCount" | グループに含まれる行数 |
グループの集計方法をカスタマイズする方法について、次のサンプルコードを参照してください。
次のサンプルコードは Formula プロパティに SUMIF 関数を設定し、「Section」列の値が"仕入"に該当する「Quantity」列の値を集計します。
| C# |
コードのコピー |
|---|---|
gcSpreadGrid1.Columns["ProductCode"].GroupFooter[0, 7].Formula = "SUMIF(Section, \"仕入\", Quantity)"; | |
| Visual Basic |
コードのコピー |
|---|---|
GcSpreadGrid1.Columns("ProductCode").GroupFooter(0, 7).Formula = "SUMIF(Section, ""仕入"", Quantity)" | |
次のサンプルコードは GROUPINFO 関数を使用し、グループの「ProductCode」列の値を取得します。また、LOOKUP 関数の引数に GROUPINFO 関数を使用し、グループの「ProductCode」列の値に対応する「ProductName」列の値を取得します。
| C# |
コードのコピー |
|---|---|
GcSpreadGrid1.Columns["ProductCode"].GroupFooter[0, 0].Formula = "GROUPINFO(1)"; GcSpreadGrid1.Columns["ProductCode"].GroupFooter[0, 1].Formula = "LOOKUP(GROUPINFO(1), ProductCode, ProductName)"; | |
| Visual Basic |
コードのコピー |
|---|---|
GcSpreadGrid1.Columns("ProductCode").GroupFooter(0, 0).Formula = "GROUPINFO(1)" GcSpreadGrid1.Columns("ProductCode").GroupFooter(0, 1).Formula = "LOOKUP(GROUPINFO(1), ProductCode, ProductName)" | |