SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

5分でわかるActiveReports帳票(AD)

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

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

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

簡単な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データ領域の各セルにバインドするフィールドを設定します。

次のページ
サブレポートの使用

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
5分でわかるActiveReports帳票連載記事一覧

もっと読む

この記事の著者

グレープシティ株式会社 ActiveReportsチーム(グレープシティカブシキガイシャ アクティブレポートチーム)

 宮城県仙台市に本社を構えるグレープシティでは、日本の業務に適したシステムをより早く開発するためのソフトウェアを提供しています。エンドユーザーの利用しやすさ、幅広いユーザー環境への対応、そして何よりプログラマの作業を軽減することを一番に目指しています。 ActiveReportsは、帳票開発に必要なあらゆる機能を備えた当社を代表するコンポーネントの1つ。1998年の発売以来、日本だけでなく全世界で多数の帳票開発者に使用されています。製品開発は同チームが中心になり、「日本仕様」の厳しい要望を実現することを目指しています。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8943 2015/11/10 15:31

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング