Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

5分でわかるActiveReports帳票-RDLレポート

ActiveReports for .NET 9.0Jで作るサンプル帳票(2)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
目次

簡単なRDLレポートの作成

 それでは、簡単なRDLレポートを作ってみましょう。以前の記事(5分でわかるActiveReports帳票(2013年度版)-ページレポート)で、簡単なページレポートを作成しました。これと同じものをRDLレポートで実現してみます。なお、RDLレポートの作成は、ページレポートと共通する部分が多いため、適宜こちらの記事をご参照ください。

 はじめに、RDLレポートをプロジェクトに追加します。ソリューションエクスプローラーでプロジェクトを右クリックして、[追加]-[新しい項目]から[ActiveReports 9.0J RDLレポート(XML)]を選択します。RDLレポートがプロジェクトに追加され、レポートのデザイン画面が開きます。

 付属のサンプルは、「01_簡単なRDLレポートの作成.rdlx」をご参照ください。

データセットの追加

 レイアウトを作成する前に、データソースとデータセットを追加します。これは、ページレポートと同様、レポートエクスプローラから追加します。

レイアウトの作成

 次に、レポート上にデータ領域を配置します。以前の記事のページレポートではListデータ領域を使いましたが、今回はBandedListデータ領域を使用します。これは、BandedListのヘッダ/フッタをページヘッダ/ページフッタとして使用するためです。

 BandedList上にTextBoxを配置し、それぞれのValueプロパティを設定してデータソースと結びつけます。

プレビュー表示

 レポートをプレビュー表示するには、ViewerコントロールのLoadDocument()メソッドでPageDocumentオブジェクトを読み込みます。この手順も、ページレポートと同様です。

プレビュー表示
プレビュー表示

ゲラモード

 RDLレポートでは、印刷時の用紙サイズを考慮した従来の印刷プレビューモードに加えて、すべてのデータを1ページとして閲覧できるゲラモードを用意しています。改ページなしですべてのデータを確認できるため、Matrixデータ領域を使用した横に伸びるレポートの閲覧や、データ件数の多いレポートのプレビューに適しています。

  

クロス集計表(印刷プレビュー)
クロス集計表(印刷プレビュー)

 印刷プレビューモードでは、印刷時の用紙サイズに合わせて、ページ余白の追加および改ページがされた状態で表示されます。

クロス集計表(ゲラモード)
クロス集計表(ゲラモード)

 一方、ゲラモードでは、改ページなしですべてのデータを1ページに表示します。なお、印刷プレビューモードとゲラモードは、Viewerコントロールのツールバーで簡単に切り替えできます。

 上記サンプルは、ActiveReportsのオンラインデモを使用しています。[RDLレポートギャラリー]-[クロス集計表]から実際の動作をご確認いただけます。

マルチデータソース

 RDLレポートでは、複数のデータソースおよびデータセットを使用できます。

 ここでは、マルチデータソースのレポートサンプルとして、異なる2つのデータセットを表示するレポートを作成します。

 付属のサンプルは、「02_マルチデータソース.rdlx」をご参照ください。

マルチデータソースのレポート
マルチデータソースのレポート

データセットの作成

 RDLレポートを追加し、レポートエクスプローラから、[データソースの追加]を選択します。データソースには、製品付属のNwind.mdbデータベースを使用します。次に、[データセットの追加]を選択し、Productsテーブルから商品一覧を抽出するSQLクエリを記述します。

SELECT Products.ProductName, Products.CategoryID, Categories.CategoryName FROM Products INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID

 さらに、もう一つのデータソースを追加します。同様に、Nwind.mdbデータベースを使用します(注1)。また、データセットを追加し、商品種類(カテゴリ)ごとの品数を抽出するSQLクエリを記述します。

SELECT Categories.CategoryName, COUNT(ProductID) AS Item FROM Products INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID GROUP BY Products.CategoryID, Categories.CategoryName

注1

 この場合はデータソースとしては同じであるため、1つのデータソースに2つのデータセットを追加してもかまいません。

 レポートのデザイン画面を開き、2つのTableデータ領域を横に配置します。

2つのデータ領域を配置する
2つのデータ領域を配置する

データセットの設定

 データセットが複数あるレポートでは、データ領域ごとにどのデータセットを使うかを指定する必要があります。各Tableデータ領域を選択した状態でプロパティダイアログを開き、「データセット名」に使用するDataSetの名前を設定します。

データセットの指定
データセットの指定

 データセット名を指定したら、デザイン画面でTableデータ領域の各セルにバインドするフィールドを設定します。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:5分でわかるActiveReports帳票

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5