ReportDocument オブジェクト モデル
ReportDocument クラスは、SDK に CrystalReportViewer オブジェクト モデルよりも豊富な機能のオブジェクト モデルを提供します。
ReportDocument クラスは、CrystalDecisions.CrystalReports.Engine 名前空間に含まれます。Engine 名前空間にある、プログラムによるレポート操作のための多くのツールを提供する一連のクラスへのゲートウェイとして機能します。
ReportDocument オブジェクト モデル
前のセクションでは、レポートのパス文字列を CrystalReportViewer コントロールに直接割り当てることによって基本の CrystalReportViewer オブジェクト モデルを操作する方法を説明しました。詳細については、「CrystalReportViewer オブジェクト モデル」を参照してください。
次のレベルのオブジェクト モデルでは、ReportDocument オブジェクト モデルを使用してレポートを ReportDocument のインスタンス内にカプセル化して、コントロールに割り当てます。これにより、ReportDocument で提供されるより複雑で強力なオブジェクト モデルへのアクセスが可能となります。
注 |
---|
このプロセスには、レポートの読み込みと表示を行う CrystalReportViewer と、レポートのカプセル化と操作を行う ReportDocument の 2 つのオブジェクト モデルが含まれます。そのため、これら 2 つのオブジェクト モデルの役割は混同されがちです。いったん ReportDocument の Engine オブジェクト モデルを使用してレポートをカプセル化すると、すべてのレポート操作をこのモデルで行う必要があります。CrystalReportViewer のプロパティとメソッドを使用してレポートを操作しようとすると、この 2 つのオブジェクト モデルが競合し、予期しない動作が発生します。 追加のオブジェクト モデルを導入した場合には、CrystalReportViewer コードの使用は表示プロパティの設定だけに限定してください。 オブジェクト モデルの選択方法の詳細については、「適切なオブジェクト モデルの選択」を参照してください。 |
ReportDocument と ReportClientDocument(RAS)
Crystal Reports 9 では、これら 2 つのオブジェクト モデルは完全に区別されていました。Crystal Reports 10 およびそれ以降では、オブジェクト モデル間の基本的な区別は排除されました。ReportDocument オブジェクト モデルは、ReportClientDocument オブジェクト モデルの機能(の一部)に対するプロキシとして機能するようになりました。
Crystal Reports 2008 では、ReportDocument.ReportClientDocument プロパティを使用して制限されたバージョンの ReportClientDocument オブジェクト モデルにアクセスできます。
ReportDocument オブジェクト モデルの概念図
次の図は、ReportDocument オブジェクト モデルの関係を示しています。
図 3: ReportDocument オブジェクト モデル
関連項目
ReportDocument オブジェクト モデルのチュートリアル
このセクションでは、ReportDocument オブジェクト モデルのさまざまなチュートリアルを示します。