本稿はActiveReportsの旧バージョンを用いた内容となっています。最新版に基づいた記事は連載の目次「5分でわかるActiveReports帳票」をご参照ください。
はじめに
ActiveReports for .NET(以下ActiveReports)はVisual Studioと統合された使いやすいレポートデザイナや高機能なレポートビューワ、多彩な出力形態をサポートする帳票作成コンポーネントです。ActiveReportsは2008年3月下旬にリリースされたService Pack1でVisual Studio 2008に対応しました。今回はVisual Studio 2008に対応したActiveReportsの新機能について紹介します。
前回の記事
過去の連載記事
- 第1回:5分でわかるActiveReports帳票-らくらく始める帳票作成
- 第2回:5分でわかるActiveReports帳票-集計処理と改ページ
- 第3回:5分でわかるActiveReports帳票-改ページ制御と多段組レイアウト
- 第4回:5分でわかるActiveReports帳票-罫線・折り返しとプレビュー・印刷
- 第5回:5分でわかるActiveReports帳票-さまざまなデータソースの利用とデータのグラフ表示
対象読者
- Visual Basic 2008またはVisual C# 2008を使ってプログラムを作ったことのある方。
- 帳票作成ツールに興味のある方。
- 今回のサンプルではLINQ(Language INtegrated Query:言語統合クエリ)や匿名クラスなどの新機能を使用しています。各機能の詳細については他のCodeZine記事を参照ください。
必要な環境
開発ツール
- Visual Studio 2008(Express EditionではActiveReportsをインストールできません)
開発言語
本記事のサンプルコードはC# 3.0/Visual Basic 9.0で記述しています。
Visual Studio 2008に対応したActiveReports 3.0
ActiveReports 3.0は、2008年3月下旬にリリースされたService Pack1でVisual Studio 2008(以下VS2008)に対応しました。このService PackにはVS2008のIDE対応および追加の新機能、改訂されたヘルプが含まれています。また、製品付属のサンプルコードにも、VS2008対応版が追加されました。この他、以前のバージョンで作成したレポートファイルを変換するためのインポートウィザードも、VS2008に対応したものに更新されています。
今回は、ActiveReportsの新機能として「ActiveReports用プロジェクトテンプレート」と「データソースとしてLINQを使ったクエリ結果を扱う方法」の2つを紹介します。
ActiveReports用のプロジェクトテンプレート
VS2008では、.NET Frameworkの機能追加に合わせて「新しいプロジェクト」ダイアログで選択可能なプロジェクトテンプレートが大幅に追加され、帳票アプリケーションのための「Reporting」というグループと、帳票アプリケーション用のプロジェクトテンプレートが追加されました。VS2008にActiveReportsをインストールすると、「新しいプロジェクト」ダイアログのReportingグループに「ActiveReportsアプリケーション」というプロジェクトテンプレートが追加されます。
これまではActiveReportsを利用した帳票アプリケーションを開発するのに、いったん「Windows Formsアプリケーション」のプロジェクトテンプレートを作ってからActiveReportsのレポートファイルを追加する、という手順を取っていましたが、このプロジェクトテンプレートを使うことで、すぐに帳票アプリケーションの開発をスタートすることができます。
「新しいプロジェクト」ダイアログから「ActiveReportsアプリケーション」テンプレートを選択してプロジェクトを作成すると、Viewerコントロールが追加されたWindowsフォームと、空のActiveReportsファイルを1つ含むプロジェクトが作成されます。
このFormコントロールには以下のように、デフォルトのLoadイベントが実装されています。
Form1.cs(VBの場合はForm1.vb)を右クリックしてメニューから「コードの表示」を選択すると、Loadイベントに最初から実装されているコードを見ることができます。
private void Form1_Load(object sender, EventArgs e) { NewActiveReport1 rpt = new NewActiveReport1(); rpt.Run(); this.viewer1.Document = rpt.Document; }
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim rpt As New NewActiveReport1 rpt.Run() Me.Viewer1.Document = rpt.Document End Sub
デフォルトのLoadイベントが実行されると、ActiveReportsのレポートインスタンスが生成され、Formに関連付けられたViewerコントロールにプレビューが表示されます。
このプロジェクトテンプレートを使えば、F5キーを押してデバッグ起動することですぐに帳票のプレビューを確認できます。今回は、このプロジェクトテンプレートを使用して以後のサンプルコードを説明していきます。