次の方法で共有


ReportClientDocument オブジェクト モデル(RAS)

ReportClientDocument オブジェクト モデルは、レポートの操作に、最も強力で豊富な機能を持つオブジェクト モデルを提供します。このオブジェクト モデルは、Report Application Server(RAS)の一部としてのみ使用可能です。RAS は、アンマネージド Report Application Server(RAS)またはマネージド Report Application Server(BOE)として使用可能です。

ReportClientDocument オブジェクト モデルは、いくつかの名前空間にまたがる多数のクラスによって構成されます。それぞれの名前空間には、CrystalDecisions.ReportAppServer という接頭辞が付きます。このオブジェクト モデルは、SDK においてレポート構造の全体を明らかにし、実行時にはプログラムでレポートの細部にわたって作成、修正および変更を保存できます。

ReportClientDocument のインスタンスは、そのクラス プロパティがプログラムを使用して変更できるレポートを構成します。これらのプロパティは、コントローラ、データ定義モデル、およびレポート定義モデルなどを含む SDK のその他の一連のライブラリにリンクしています。

  • ReportDefinition は、Crystal Reports Designer で示したようにレポートのレイアウトに対応します。
  • DataDefinition は、Crystal Reports Designer のフィールド エクスプローラに対応しています。
  • RowsetController は、実行時にレポートを表示する際の、各詳細行の処理済みのデータ値に対応しています。

ReportClientDocument インスタンスは、次のいずれかをインスタンス化したものです。

  • ディレクトリからロードされた後、ReportClientDocument SDK のレポート定義とデータ定義クラスで変更された既存の .rpt ファイル。
  • ReportClientDocument SDK のレポート定義とデータ定義クラスで構成された完全に新規で、空のレポート。

この ReportClientDocument クラス インスタンスは、インスタンスを表示用にビューアに渡すために十分な長さだけロードされた後、表示されなくなります。ただし、クラス インスタンスも変更され、コントローラ クラスの 1 つとともにディレクトリにレポート(.rpt)として保存される場合もあります。

ReportClientDocument オブジェクト モデルの詳細については、Business Objects RAS .NET SDK のマニュアルを参照してください。

Crystal Reports 9 の ReportClientDocument

アンマネージド RAS および RAS .NET アセンブリが同梱された Crystal Reports 9(Advanced バージョン)では、ReportClientDocument オブジェクト モデルに対するプログラムの作成が必要でした。これにより、開発者は ReportClientDocument オブジェクト モデルの利点を活用した .NET プロジェクトを作成することができました。

しかし、これは同時に Crystal Reports で提供される ReportDocument オブジェクト モデルによって作成されたプロジェクトは、RAS で提供される ReportClientDocument オブジェクト モデル用にすべてを再コード化する必要があることを意味しました。これは、この 2 つが完全に別個のオブジェクト モデルであるためです。

Crystal Reports 10 以降の ReportClientDocument

Crystal Reports 10 では、オブジェクト モデル間の基本的な区別は排除されました。これは、ReportDocument オブジェクト モデルを変更し、ReportClientDocument オブジェクト モデルの機能(の一部)に対するプロキシとして機能するようにしたことによって実現したものです。ReportDocument オブジェクト モデルのクラスが公開するプロパティとメソッド シグネチャは変わりませんが、基本の機能が変更され、各プロパティとメソッドをより強力な ReportClientDocument オブジェクト モデルのプロパティとメソッドにリダイレクトしています。

これは、基本バージョンの Crystal Reports Developer が、アンマネージド RAS サーバーや ReportClientDocument オブジェクト モデルへのフル アクセス権を持つことを意味するものではありません。ReportDocument オブジェクト モデルは ReportClientDocument オブジェクト モデルの一部の機能へのプロキシとして機能しますが、基本バージョンの Crystal Reports は、引き続き ReportDocument オブジェクト モデルにのみアクセスします。以前のバージョンの Crystal Reports に組み込まれていたオリジナルのレポート作成エンジンは、RAS レポート作成エンジンの機能制限付き埋め込みバージョンに置き換えられました。

ReportClientDocument モデルに直接アクセスする機能をインストールおよび取得するには、アンマネージド RAS サーバーへのアップグレード ライセンスが必要です。アップグレードにより、ReportDocument オブジェクト モデル用に記述された既存のコードはすべて、任意のレポート インスタンスに 2 つのプロパティを設定することによって、簡単に別の RAS サーバーにリダイレクトできます。これにより、ReportDocument クラスの ReportClientDocument プロパティからコードを取得する際に、基になる ReportClientDocument オブジェクト モデルに直接アクセスできるようになります。

詳細については、「ReportDocument.Load() メソッドを使ったアンマネージド RAS へのバインド」を参照してください。

ReportClientDocument オブジェクト モデルの図

次の図は、ReportClientDocument オブジェクト モデルの関係を示しています。

ms225229.om_ras(ja-jp,VS.90).gif

図 4: ReportClientDocument オブジェクト モデル