Report Application Server へのバインド(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 サービスの Report Application Server サブ ノードについて説明します。
[SERVERNAME]
- Crystal サービス
- Report Application Server
説明
Report Application Server サブ ノードは、アンマネージド RAS サーバーによって公開されているレポートにアクセスしてこれを表示します。[RAS]ノードは、開発を行うコンピュータにアンマネージド RAS がインストールされている場合にのみ機能します。
[Crystal サービス]の下の[Crystal Enterprise]ノードから、レポートを Web フォームまたは Windows フォームにドラッグ アンド ドロップすると、ReportDocument のインスタンスが生成されます。ReportDocument クラスは、ラッパー クラスとして機能します。クラスの目的は、アンマネージド RAS サーバーから渡されるレポートをラップ(表示)することです。
Crystal サービスの機能を比較する表については、下記を参照してください。
- 「Crystal サービスを使用して CrystalReportViewer をバインドするシナリオ」
- 「Crystal サービスを使用して ReportDocument をバインドするシナリオ(VS .NET 2002 および 2003)」
長所
- 簡単なアクセス:アンマネージド RAS サーバーからのレポートは、ツリー ビューで表示され、Web フォームへ簡単にドラッグできます。
- 幅広いプログラム上の対話:優れた ReportDocument オブジェクト モデルへのアクセスが可能になります。このバージョンのレポート ラッパー クラスは、ReportDocument です。これが Crystal サービスの最初のバージョンとなり、ReportDocument オブジェクト モデルへのアクセスが提供されます。
短所
- やや複雑なコード:ReportClientDocument オブジェクト モデルの RAS レポートのように、直接的なコードではありません。詳細については、「ReportClientDocument.Open() メソッドを使ったアンマネージド RAS サーバーへのバインド」を参照してください。
[Crystal サービス]の下の[Report Application Server]ノードを使用する
- Crystal Reports 10 またはそれ以降のバージョンがインストールされ、正しく動作する。
- アンマネージド RAS サーバーがインストールされ、動作していること確認する。
注 |
---|
この手順は、「プロジェクトの設定」で作成されたプロジェクトにのみ有効です。「プロジェクトの設定」では、この手順で必要な特定の名前空間の参照とコード設定が説明されており、この設定は、この手順を完了するために必須です。したがって、この手順を始める前にまず、「プロジェクトの設定」の手順を実行しておく必要があります。 |
Visual Studio でサーバー エクスプローラを開きます。
[Crystal サービス]、[Report Application Server]の順に展開します。
[Report Application Server]ツリーからレポートを選択し、Web フォームまたは Windows フォームにドラッグします。
デザイン ビューでフォームの下部に、reportDocument1 オブジェクトが表示されます。
注 Report Application Server レポートがフォーム上に置かれると、ReportDocument クラスのインスタンスが、フォームのデザイナで生成されたコード領域に追加されます。
System.ComponentModel.Component(ReportDocument など)から継承されるクラスが、デザイナで生成されたコード領域でインスタンス化および設定されると、インスタンス化されたクラスのアイコンがデザイン ビューのフォームの下部に表示されます。
コード ビューに切り替え、Web フォームまたは Windows フォーム デザイナの生成コードの箇所を開きます。
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/w5dk7atd.alert_note(ja-jp,VS.90).gif" title="Note" alt="Note" class="note" />注</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>ReportDocument クラスは、この領域でインスタンス化と設定が行われます。</p></td>
</tr>
</tbody>
</table>
「プロジェクトの設定」で作成した ConfigureCrystalReports() メソッドでは、ReportDocument インスタンスを CrystalReportViewer コントロールの ReportSource プロパティに割り当てます。
myCrystalReportViewer.ReportSource = reportDocument1
crystalReportViewer.ReportSource = reportDocument1;
レポートを表示するには、プロジェクトをビルドおよび実行してください。