ActiveReportsでは、レポート内にグループヘッダとグループフッタを追加し、データをグループ化できます。グループヘッダは、Detailセクションの直前、またグループフッタは、Detailセクションの直後に挿入されます。詳細は、「セクションレポートでデータのグループ化」を参照してください。
|
注意: レポートでは、対応するフッタセクションなしでヘッダセクションを追加することはできません。 |
グループヘッダとグループフッタのプロパティは、それぞれのプロパティ設定ダイアログから設定できます。以下では、それぞれのダイアログで設定できるプロパティについて説明します。
なお、[GroupHeader]ダイアログで表示される各オプションは、[プロパティ]ウインドウからも設定できます。プロパティに直接アクセスするには、セクションを選択し、[プロパティ]ウインドウを開きます。
[GroupHeader]ダイアログ
[GroupHeader]ダイアログにアクセスするには、グループヘッダをクリックして選択し、[プロパティ]ウインドウの下部にあるコマンドのセクションから[プロパティ設定ダイアログ]リンクをクリックします。詳細は、[プロパティ]ウインドウを参照してください。
全般
- 名前(Name): コード上でオブジェクトを識別するために使用される名前です。レポートで一意の名前です。
- タグ(Tag): GroupHeaderセクションにユーザー定義の情報を設定します。
- 表示する(Visible): GroupHeaderセクションを表示するかどうかを設定します。
- データフィールド(DataField): データのグループ化に使用するフィールドまたは式です。
外観
- 背景色(BackColor): GroupHeaderセクションの背景色を設定します。
レイアウト
- 新しいページの挿入(NewPage): GroupHeaderセクションの印刷前に新しいページを挿入するか、印刷後に挿入するか、または印刷前と印刷後の両方で挿入するかを設定します。
- 新しいカラムの挿入(NewColumn): GroupHeaderセクションの印刷前に新しいカラム(マルチカラムレポート)を開始するか、印刷後に開始するか、または印刷前と印刷後の両方で開始するかを設定します。
- 繰り返し出力(RepeatStyle): カラム、またはDetailセクションや関連フッタが複数ページに分割される場合に、出力されるページごとに、GroupHeaderセクションを出力します。
- ヘッダとフッタを1つのブロックとして1ページ内に収める(GroupKeepTogether): GroupHeaderとGroupFooterのセクションを1つのブロックとして同じページ内に表示します。
- 1ページ内に収める(KeepTogether): GroupHeaderセクションを1ページ内に収めて表示します。
- グループを同じカラムの1つのブロックとして出力する(ColumnGroupKeepTogether): GroupHeaderとGroupFooterのセクションを同じカラムの1つのブロックとして表示します。
- 次のセクションをこのセクションの上に重ねて出力する(UnderlayNext): 次のセクションをこのGroupHeaderセクションの上に重ねて表示します。グループのdetail内でグループヘッダの情報を表示するには、DetailセクションのBackColorプロパティを「Transparent」に設定する必要があります。
- Detailセクションと同じカラムレイアウトを使用する(ColumnLayout): GroupHeaderセクションでDetailセクションと同じカラムレイアウトを使用します。
- コントロールに合わせて拡大する(CanGrow): セクション内のコントロールに合わせて、GroupHeaderセクションの高さを拡大します。
- コントロールに合わせて縮小する(CanShrink): セクション内のコントロールに合わせて、GroupHeaderセクションの高さを縮小します。
[GroupFooter]ダイアログ
[GroupFooter]ダイアログにアクセスするには、グループフッタをクリックして選択し、[プロパティ]ウインドウの下部にあるコマンドのセクションから[プロパティ設定ダイアログ]リンクをクリックします。詳細は、「[プロパティ]ウインドウ」を参照してください。
全般
- 名前(Name): コード上でオブジェクトを識別するために使用される名前です。レポートで一意の名前です。
- タグ(Tag): GroupFooterセクションにユーザー定義の情報を設定します。
- 表示する(Visible): GroupFooterセクションを表示するかどうかを設定します。
外観
- 背景色(BackColor): GroupFooterセクションの背景色を設定します。
レイアウト
- 新しいページの挿入(NewPage): GroupFooterセクションの印刷前に新しいページを挿入するか、印刷後に挿入するか、または印刷前と印刷後の両方で挿入するかを設定します。
- 新しいカラムの挿入(NewColumn): GroupFooterセクションの印刷前に新しいカラム(マルチカラムレポート)を開始するか、印刷後に開始するか、または印刷前と印刷後の両方で開始するかを設定します。
- 1ページ内に収める(KeepTogether): GroupFooterセクションを1ページ内に収めて表示します。
- Detailセクションと同じカラムレイアウトを使用する(ColumnLayout): GroupFooterセクションでDetailセクションと同じカラムレイアウトを使用します。
- ページ下部に出力する(PrintAtBottom): GroupFooterセクションをPageFooterセクションの直上、またページの下部に挿入します。
- コントロールに合わせて拡大する(CanGrow): セクション内のコントロールに合わせて、GroupFooterセクションの高さを拡大します。
- コントロールに合わせて縮小する(CanShrink): セクション内のコントロールに合わせて、GroupFooterセクションの高さを縮小します。
レポートを実行すると、グループヘッダ 、Detailセクション、グループフッタの順序にレポートが描画されます。グループ化するフィールドの各インスタンスに対して、新しいグループヘッダのセクションが描画されます。
グループヘッダにあるコントロールは、グループの各インスタンスに対して1回だけ描画されるので、Detailフィールドのデータを説明するために、このセクションに列ヘッダのラベルを追加します。
複数のグループ化
セクションレポートでは、グループヘッダとグループフッタをネストして、異なるフィールドでグループ化できます。1つのレポート内に、32個までのネストされたグループを配置できます。
|
メモ: グループヘッダとフッタのペアでは、グループヘッダのDataFieldプロパティで指定するフィールドに基づいてデータをグループ化する際に、グループの順序を維持する必要があります。
例: SELECT * FROM Customers ORDER BY GroupHeader1DataField, GroupHeader2DataField, GroupHeader3DataField |
次のレポートは、出力されるレポートの各セクションの表示順序を示します。GroupHeader1は最初に追加しているため、他のグループヘッダの上側に表示され、またGroupFooter1は、2つのグループフッタの下側に表示されます。
複数のグループが追加されているレポートを実行すると、各セクションは以下の順序に印刷されます。
- ReportHeader1: レポートの先頭に1回だけ印刷されます。
- PageHeader1: レポートの各ページの先頭に1回ずつ印刷されます。
- GroupHeader1: DataFieldプロパティが返す最初の値に基づいて印刷されます。
- GroupHeader2: GroupHeader1のDataFieldに指定した値に基づいて、GroupHeader2のDataFieldの最初の値が1回だけ印刷されます。
- GroupHeader3: GroupHeader2のDataFieldに指定した値に基づいて、GroupHeader3のDataFieldの最初の値が1回だけ印刷されます。
- Detail1: GroupHeader3のDataFieldに指定した値に基づいて、各レコードに対して1回ずつ印刷されます。
- GroupFooter3: GroupHeader3のDataFieldに指定した値に基づいて、レポートの最後に1回だけ印刷されます。
- GroupHeader3: GroupHeader2のDataFieldに指定した値によって複数の値が返される場合、もう1回印刷される可能性があります。
- GroupHeader3が印刷される毎に、Detail1(関連のレポートに対して1回だけ)、GroupFooter3の順番でレポートが印刷されます。
- GroupFooter2: GroupFooter3が終了した後で、1回ずつ印刷されます。
- GroupHeader2: GroupHeader1のDataFieldに指定した値によって複数の値が返される場合、もう1回印刷される可能性があります。 GroupHeader2が印刷される毎に、Detail1(関連のレポートに対して1回だけ)、GroupFooter2の順番でレポートが印刷されます。
- GroupFooter1: GroupFooter2が終了した後で、1回ずつ印刷されます。
- GroupHeader1: DataFieldによって返される2番目の値に対して一回印刷され、その後、GroupHeader2が印刷され、上記のような手順を繰り返します。
- ReportFooter1: レポートの末尾に1回だけ印刷されます。
-
PageFooter1: 各ページの下部に1回ずつ印刷されます。グループ内にPageFooterの位置が変更されます。
|
メモ: 設計時にPageFooterセクションは、ReportFooterセクションの上に表示されているが、実行時に最後のページのReportFooterセクションの後で表示されます。 |
挿入するグループの順序は変更することができます。レポートに1つ以上のグループがある場合、デザイナ面を右クリックし、コンテキストメニューから[グループ順]を選択します。[グループ順]ダイアログでは、グループをドラッグして順序を変更できます。
また、ActiveReportsのツールバーにある[グループ順]ボタンでも、グループの順序を変更できます。詳細は、「ツールバー」を参照してください。
関連トピック