Share via


ReportClientDocument 物件模型 (RAS)

ReportClientDocument 物件模型為操控報表提供最為強大且廣泛的物件模型。這個物件模型僅限由報表應用程式伺服器 (RAS) 提供,而又區分為 Unmanaged 報表應用程式伺服器 (RAS) 或 Managed 報表應用程式伺服器 (BOE)。

ReportClientDocument 物件模型是由跨越數個命名空間的許多類別所組成。每個命名空間都是以 CrystalDecisions.ReportAppServer 為前置詞。這個物件模型會在 SDK 中公開整個報表結構,讓您以程式設計方式在執行階段建立、修改與儲存報表各方面的變更。

ReportClientDocument 執行個體所包含的報表,能夠透過程式設計方式利用其類別屬性進行修改。這些屬性連結到 SDK (包含控制器、資料定義模型和報表定義模型) 中其他一系列的程式庫:

  • ReportDefinition 對應到報表的配置,如 Crystal Reports Designer 中所顯示。
  • DataDefinition 對應到 Crystal Reports Designer 中的欄位總管。
  • RowsetController 對應到每個詳細資料列於執行階段檢視報表期間處理的資料值。

ReportClientDocument 可能是下列其中一項的執行個體:

  • 從目錄載入後再由 ReportClientDocument SDK 的報表定義和資料定義類別進行修改的現有 .rpt 檔案。
  • 由 ReportClientDocument SDK 的報表定義和資料定義類別所建構的全新空白報表。

這個 ReportClientDocument 類別執行個體的載入時間長短可能只足夠將執行個體傳送到檢視器顯示,之後即超出範圍。但是,類別執行個體可能會進行修改,然後與其中一種控制項類別一起儲存為目錄裡的報表 (.rpt)。

如需 ReportClientDocument 物件模型的詳細資訊,請參閱 Business Objects RAS .NET SDK 文件。

Crystal Reports 9 中的 ReportClientDocument

Crystal Reports 9 (進階版本) 隨附了從事 ReportClientDocument 物件模型程式設計所需的 Unmanaged RAS 和 RAS .NET 組件。這讓開發人員得以充分利用 ReportClientDocument 物件模型的功能建立 .NET 專案。

不過,這也表示必須依據 RAS 提供的 ReportClientDocument 物件模型,完全改寫先前使用 Crystal Reports 提供的 ReportDocument 物件模型所建立的專案程式碼。原因在於兩個物件模型是完全不同的。

Crystal Reports 10 (含) 以上版本中的 ReportClientDocument

在 Crystal Reports 10 中,物件模型間的基礎分隔已經移除。這是因為 ReportDocument 物件模型已經改寫,如今係做為 ReportClientDocument 物件模型功能 (子集) 的 Proxy。ReportDocument 物件模型類別所公開的屬性及方法簽名碼如同以往,但是基礎功能已經變更,會將每個屬性及方法重新導向至更為強大的 ReportClientDocument 物件模型屬性及方法。

這並不表示 Crystal Reports Developer 基本版本就能完整存取 Unmanaged RAS 伺服器甚或 ReportClientDocument 物件模型。Crystal Reports 基本版本仍然只能存取 ReportDocument 物件模型 (即便 ReportDocument 物件模型是做為 ReportClientDocument 物件模型子集的 Proxy)。包含在 Crystal Reports 先前版本中的原始報表引擎,已經由 RAS 報表引擎的內嵌有限功能版本所取代。

唯有升級到 Unmanaged RAS 伺服器授權,您才能安裝和直接存取 ReportClientDocument 模型。在這種情況下,任何報表執行個體只需設定兩個屬性,便可輕易將所有基於 ReportDocument 物件模型撰寫的現存程式碼重新導向至個別的 RAS 伺服器,而藉著擷取 ReportDocument 類別的 ReportClientDocument 屬性,也就能夠直接存取基礎 ReportClientDocument 物件模型。

如需詳細資訊,請參閱「使用 ReportDocument.Load() 方法繫結至 Unmanaged RAS 伺服器」

ReportClientDocument 物件模型圖表

這個圖表展示了 ReportClientDocument 物件模型的關係。

圖4ReportClientDocument 物件模型