特集

Crystal Reportsで作る高品質なWebレポート

一色 政彦
2003/08/05

Page1 Page2 Page3 Page4

3. ASP.NETへのCrystal Report Viewerの追加

 Crystal Report Viewerは、Webフォーム上でレポートを表示するためのコンポーネントである。Crystal Report ViewerをWebアプリケーション上に追加するのは簡単だ。ASP.NETのWebフォーム・コントロール群から[Crystal Report Viewer]コントロールをドラッグ&ドロップでASP.NETのフォーム・デザイナに追加するだけである。

Crystal Report Viewerの追加
  ツールボックスの[Webフォーム]のカテゴリから[Crystal Report Viewer]をドラッグ&ドロップでASP.NETのWebフォームに追加する

 ただし、このままでは動作しない。まず、Crystal Report Viewerを先ほどデザインしたレポート(rptファイル)とバインド(連結)する必要がある。なお、レポートはローカルのrptファイルとしてバインドすることもできるが、レポートをWebサービス化して、バインドすることもできる。レポートをWebサービス化するには、統合開発環境(IDE)のソリューション・エクスプローラに表示されたレポート(rptファイル)を右クリックし、そこで表示されるコンテキスト・メニューの中から[Webサービスとして公開]を選択するだけである。

 Crystal Report Viewerにレポート(rptファイル)をバインドさせるには、プロパティ・ウィンドウの[(DataBindings)]をクリックして、「Crystal Report Viewerのデータ連結」を表示する。その中の[ReportSource]プロパティに、レポート(rptファイル)のパスまたはWebサービスのURIを指定する(下図参照)。

Crystal Report Viewerとレポートの連結
  プロパティの中から[ReportSource]を選択する
  連結式としてレポートのrptファイルのパスまたはWebサービスのURIを入力する。注意点としては、必ずダブルクオーテーション(”)で文字列を囲う必要があることだ。なお、上の[単純連結]では「Server File レポート」を選択できる。Server File レポートとは、統合開発環境(IDE)のサーバ・エクスプローラのCrystalサービスからインポートしたレポート(rptファイル)のことだ。

 そして仕上げに、ASP.NETのソース・コードでCrystal Report ViewerインスタンスのDataBindメソッド呼び出しを追加して完成である。これで、ページを開くたびにデータベースからのデータが設定されたレポートが表示されるようになる。

  protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
  override protected void OnInit(EventArgs e)
  {
    InitializeComponent();
    CrystalReportViewer1.DataBind();
    base.OnInit(e);
  }
Crystal Report ViewerのDataBindメソッド呼び出しの追加
DataBindメソッドを呼び出すことで、初めてデータ連結処理が実行される。

 以上が、Crystal Reportsのレポート機能をWebアプリケーションに追加するときの基本的な流れである。これだけの手順で、Webアプリケーションに表現力豊かな質の高いレポート機能を追加できるのなら、導入する価値があるのではないだろうか。

 ただし問題もある。Webフォームで利用するCrystal Reportsは印刷機能を備えていないため、ブラウザの機能を使った印刷しかできない。よって、印刷が横にはみ出すなど意図どおりの印刷ができない可能性がある。そのような場合は、Crystal Reportsのエクスポート機能を使ってWord/ExcelやPDFのファイル形式でレポートを出力するなど、何らかの回避策をとるしかない。また、Crystal Reports for Visual Studio .NETは5アクティブ・ユーザー(50コンカレント・ユーザー相当)しかサポートしていないため、大量のユーザー・アクセスには耐えられない。これを解決するには、Crystal Reports 9 Advanced Editionへのアップグレードが必要である。Crystal Reportsのライセンスの詳細についてはクリスタルディシジョンズのWebサイトを参照してほしい。


 INDEX
  [特集]Crystal Reportsで作る高品質なWebレポート
     1.Webアプリケーションにレポート機能を追加する
     2.レポート・ページのデザイン
   3.ASP.NETへのCrystal Report Viewerの追加
     4.Windowsアプリケーションへのレポート機能の追加
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH