特集
Crystal Reportsで作る高品質なWebレポート
一色 政彦
2003/08/05 |
|
|
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サイトを参照してほしい。
業務アプリInsider 記事ランキング
本日
月間