Crystal Enterprise へのバインド(Crystal Reports 10 以降)
注 |
---|
このページでは、Crystal Reports for Visual Studio では使用できなかったが、アップグレード バージョンで使用可能になった機能について説明します。Crystal Reports for Visual Studio の詳細については、「Crystal Reports for Visual Studio について」を参照してください。アップグレード バージョンについての詳細情報は、「アップグレード オプション」を参照してください。 |
オブジェクト モデル
このレポートをバインドするシナリオでは ReportDocument を使用しています(「ReportDocument オブジェクト モデルによるレポートのバインド」を参照)。
レポートの場所
レポートは、マネージド RAS サーバー(「Report Application Server(RAS)」を参照)に保存されます。レポートは ReportDocument クラスにラップされます。
Crystal サービス 概要
このレポートをバインドするシナリオは、サーバー エクスプローラの Crystal サービス サーバー ノードからアクセスするレポートに適用されます。
注 |
---|
Crystal サービスの概要については、「Crystal サービスの使用」を参照してください。 |
このセクションでは、Crystal Reports Developer エディションに含まれる Crystal サービスの Crystal Enterprise サブ ノードについて説明します。
[SERVERNAME]
- Crystal サービス
- Crystal Enterprise
説明
Crystal Enterprise サブ ノードは、Crystal Enterprise 内でマネージド RAS サーバーによって公開されているレポートにアクセスしてこれを表示します。
Crystal サービスの下の[Crystal Enterprise]ノードは、Crystal Enterprise からマネージド RAS サーバーを経由してレポートを公開します。[Crystal Enterprise]ノードは機能しますが、開発を行うコンピュータに Crystal Enterprise がインストールされていない場合は、このノードのプロパティに移動してネットワーク上の Crystal Enterprise サーバー名を設定します。
[Crystal サービス]の下の[Crystal Enterprise]ノードから、レポートを Web フォームまたは Windows フォームにドラッグ アンド ドロップすると、ReportDocument のインスタンスが生成されます。ReportDocument クラスは、ラッパー クラスとして機能します。クラスの目的は、Crystal Enterprise 内の RAS サーバーから渡されたレポートをラップ、つまり表示することです。
Crystal サービスの機能を比較する表については、下記を参照してください。
- 「Crystal サービスを使用して CrystalReportViewer をバインドするシナリオ」
- 「Crystal サービスを使用して ReportDocument をバインドするシナリオ(VS .NET 2002 および 2003)」
Crystal Enterprise で実行可能なレポートのバインドの要約は、「推奨されるシナリオの概要」を参照してください。
長所
- 簡単なアクセス:Web アプリケーションから Crystal Enterprise 内の RAS レポートに簡単にアクセスできます。
- 幅広いプログラム上の対話:優れた ReportDocument オブジェクト モデルへのアクセスが可能になります。このバージョンのレポート ラッパー クラスは、ReportDocument です。これが Crystal サービスの最初のバージョンとなり、ReportDocument オブジェクト モデルへのアクセスが提供されます。
短所
- やや複雑なコード:ReportClientDocument オブジェクト モデルの RAS レポートのように、直接的なコードではありません。詳細については、「ReportAppFactory.OpenDocument() メソッドを使ったマネージド RAS サーバーへのバインド」を参照してください。
[Crystal サービス]の下の[Crystal Enterprise]ノードを使用する
- Crystal Reports 10 または XI がインストールされ、正しく動作する。
注 |
---|
この手順は、「プロジェクトの設定」で作成されたプロジェクトにのみ有効です。「プロジェクトの設定」では、この手順で必要な特定の名前空間の参照とコード設定が説明されており、この設定は、この手順を完了するために必須です。したがって、この手順を始める前にまず、「プロジェクトの設定」の手順を実行しておく必要があります。 |
Visual Studio でサーバー エクスプローラを開きます。
[Crystal サービス]、[Crystal Enterprise]の順に展開します。
[Crystal Enterprise]ツリーからレポートを選択し、Web フォームまたは Windows フォーム上にドラッグします。
デザイン ビューでフォームの下部に、reportDocument1 オブジェクトが表示されます。
注 Crystal Enterprise レポートがフォーム上に置かれると、ReportDocument クラスのインスタンスが、フォームのデザイナで生成されたコード領域に追加されます。
System.ComponentModel.Component を継承するクラス(ReportDocument など)が、デザイナで生成されたコード領域でインスタンス化および設定されると、インスタンス化されたクラスのアイコンがフォーム デザイン ビューの下部に表示されます。
コード ビューに切り替え、Web フォームまたは Windows フォーム デザイナの生成コードの箇所を開きます。
ReportDocument クラスは、この領域でインスタンス化と設定が行われます。
「プロジェクトの設定」で作成した ConfigureCrystalReports() メソッドでは、ReportDocument インスタンスを CrystalReportViewer コントロールの ReportSource プロパティに割り当てます。
myCrystalReportViewer.ReportSource = reportDocument1
crystalReportViewer.ReportSource = reportDocument1;
レポートを表示するには、Web プロジェクトをビルドおよび実行してください。