このチュートリアルでは、TableOfContentsコントロールを含むレポートを作成し、レポートページ本体に見出しマップを表示する方法を示します。
TableOfContentsコントロールを使用すると、レポート内の目的のデータにすばやく移動できます。従来の見出しマップはビューワのサイドパネルでのみ使用可能でレポート内には表示できませんが、TableOfContentsコントロールはこれとは異なり、レポート本文の目次リストとして表示および印刷できます。
このトピックでは、以下のタスクを行います。
- Visual StudioプロジェクトにActiveReportsを追加する
- レポートをデータソースに接続する
- データセットを追加する
- レポートのレイアウトを作成する
- TableOfContentsの外観を設定する
- レポートを表示する
|
メモ: このチュートリアルでは、Reelsデータベース(Reels.mdb)のMoviesテーブルを使用しています。使用にはReelsデータベース(..\ActiveReportsNET12\Data\Reels.mdb)へのアクセス権限が必要です。 |
チュートリアルを完了すると、次のようなレポートが作成されます。
デザイン時のレイアウト
実行時のレイアウト
Visual StudioプロジェクトにActiveReportsを追加する
- Visual Studioで新しいWindowsフォームアプリケーションプロジェクトを作成します。
- [プロジェクト]メニューから[新しい項目の追加]を選択します。
- [新しい項目の追加]ダイアログが表示されたら、[ActiveReports 12.0J RDLレポート]を選択し、[名前]フィールドでファイル名を「ReportsWithToC.rdlx」に変更します。
- [追加]ボタンをクリックします。各種レポートレイアウトの追加の詳細については、「プロジェクトにレポートを追加する」を参照してください。
レポートをデータソースに接続する
- [レポートエクスプローラ]で[データソース]ノードを右クリックして[データソースの追加]オプションを選択するか、[追加](+)ボタンから[データソース]を選択します。
- [レポートデータソース]ダイアログで[全般]ページを選択し、[名前]フィールドに「ReportData」と入力します。
- このページで、Reelsデータベースへの接続を作成します。接続の詳細については、「データソースとの接続」を参照してください。
データセットを追加する
- [レポートエクスプローラ]で、[データソース]ノードを右クリックして[データセットの追加]オプションを選択するか、[追加](+)ボタンから[データセット]を選択します。
- [データセット]ダイアログが表示されたら、[全般]ページを選択し、データセットの名前として「MovieCatalog」と入力します。この名前は[レポートエクスプローラ]に[データソース]の子ノードとして表示されます。
- このダイアログの [クエリ] ページで、 [クエリ] フィールドに以下のSQLクエリを入力します。
SQLクエリ |
コードのコピー
|
SELECT Genre.GenreName, Movie.Title, Movie.YearReleased, Movie.UserRating, Movie.Country FROM Genre INNER JOIN (Movie INNER JOIN MovieGenres ON Movie.MovieID = MovieGenres.MovieID) ON Genre.GenreID = MovieGenres.GenreID ORDER BY YearReleased ASC
|
- [クエリ]ボックスの右上にある[データセットの検証]アイコンをクリックして、クエリを確認します。
- [OK]をクリックしてダイアログを閉じます。追加したデータセットとクエリによって取得されたフィールドがレポートエクスプローラにノードとして表示されます。
レポートのレイアウトを作成する
- ツールボックスからListコントロールをにドラッグし、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
DataSetName |
MovieCatalog |
Location |
0.25in, 1.875in |
Size |
6in, 4in |
PageBreakAtStart |
True |
- Listデータ領域を選択し、[プロパティ]ウィンドウで[プロパティ設定ダイアログ]リンクをクリックしてListダイアログを開きます。
- [詳細行のグループ化]ページの[全般]タブに移動し、[グループ化]の[式]フィールドを
=Fields!GenreName.Value
に設定します。
- [OK]をクリックしてダイアログを閉じます。
- [レポートエクスプローラ]で、MovieCatalogデータセットからGenreNameフィールドをドラッグしてListデータ領域にドロップし、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
Location |
0.25in, 0.375in |
Font |
Normal, Arial, 12pt, Bold |
TextAlign |
Center |
Size |
5.625in, 0.25in |
Label |
=Fields!GenreName.Value
|
メモ: コントロールのLabelプロパティを設定すると、そのコントロールのエントリが見出しマップに追加されます。 |
|
- ツールボックスからTable データ領域をドラッグしてListデータ領域にドロップし、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
Location |
0.125in, 1in |
Size |
6in, 0.75in |
DataSetName |
MovieCatalog |
BorderStyle |
Solid |
RepeatHeaderOnNewPage |
True |
- Tableデータ領域のテーブル詳細行のセルにマウスを合わせ、フィールド選択装飾を表示します。
-
装飾をクリックしてMovieCatalogデータセットの使用可能なフィールドのリストを表示し、以下のフィールドをテーブル詳細行のセルに追加します。
セル |
フィールド |
左セル |
Title |
中央セル |
Country |
右セル |
UserRating |
これにより、詳細行に式が自動的に設定され、同じ列のヘッダ行に静的なラベルが配置されます。
|
ヒント: [レポートエクスプローラ]からTableデータ領域のテキストボックスセルに直接フィールドをドラッグすることもできます。 |
- 左側の行ハンドルを使用してテーブルヘッダ行を選択し、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
Font > FontWeight |
Bold |
TextAlign |
Left |
BackgroundColor |
Silver |
BoderStyle |
Solid |
- 左側の行ハンドルを使用してテーブル詳細行を選択し、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
TextAlign |
Left |
BorderStyle |
Solid |
- 左側の行ハンドルを使用してテーブル詳細行を右クリックし、[グループの挿入...]を選択します。
- [Table - グループ]ダイアログが表示されたら、[全般]タブに移動し、[グループ化の条件]の[式]フィールドを
=Fields!YearReleased.Value
に設定します。
- [OK]をクリックしてダイアログを閉じます。
- [Ctrl]キーとマウス左ボタンを使用してテーブルグループ行のテキストボックスを選択し、右クリックして[セルの結合]を選択します。
- 結合されたセルを選択し、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
Font |
Normal, Arial, 10pt, Bold |
HeadingLevel |
Heading 2
|
メモ: コントロールのHeadingLevelプロパティを設定すると、そのコントロールのエントリが見出しマップに追加されます。 |
|
TextAlign |
Center |
Value |
=Fields !YearReleased.Value & "年に公開された映画" |
- Visual StudioのツールボックスからTableOfContents コントロールをにドラッグし、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
Location |
0.25in, 0.5in |
Size |
6in, 0.875in |
BorderStyle |
Solid |
TableOfContentsの外観を設定する
- TableOfContentsコントロールを選択して[Levels(コレクション)]プロパティを選択し、表示された省略記号ボタン<...>をクリックします。
- [LevelDesignerコレクションエディター]ダイアログが表示されたら、[メンバー]の下の[追加]ボタンを使用してTableOfContentsにLevel2を追加します。
- [メンバー]リストで[Level1]を選択し、LevelDesignerコレクションエディターの[プロパティ]ウィンドウ上部の[プロパティページ]ボタンをクリックします。
-
[Level]ダイアログが表示されたら、以下のプロパティを設定します。
プロパティ
プロパティ名 |
プロパティの値 |
フォント > サイズ |
14 |
フォント > 太さ |
Bold |
フォント > 色 |
DarkBlue |
書式 > パディング > 左 |
10pt |
書式 > パディング > 上 |
10pt |
書式 > パディング > 右 |
10pt |
書式 > パディング > 下 |
10pt |
書式 > 充てん文字 |
|
- [OK]をクリックしてダイアログを閉じます。
- [LevelDesignerコレクションエディター]の[メンバー]リストで[Level2]を選択し、LevelDesignerコレクションエディターの[プロパティ]ウィンドウ上部の[プロパティページ]ボタンをクリックします。
- [レベルのプロパティ]ダイアログが表示されたら、[フォント] > [太さ]プロパティを[Bold]に設定します。
- [OK]をクリックしてダイアログを閉じます。
- [LevelDesignerコレクションエディター]ダイアログの[メンバー]リストで[Level2]を選択し、[プロパティ]ウィンドウでPaddingプロパティを「20pt, 10pt, 0pt, 0pt」に、DisplayPageNumberプロパティを「False」に設定します。
- [OK]をクリックして[LevelDesignerコレクションエディター]ダイアログを閉じます。
-
[レポートエクスプローラ]で [レポート]ノードを選択し、[プロパティ]ウィンドウで以下のプロパティを設定します。
プロパティ
プロパティ名 |
プロパティの値 |
DocumentMap > Source |
Labels and Headings |
DocumentMap > NumberingStyle |
1, 2, 3, 4, 5 |
レポートを表示する
- をクリックすると、デザイン時点のレポートが表示されます。
または
関連トピック