建議的案例摘要
為了協助您為應用程式挑選最佳的報表繫結案例,本節將摘要建議案例的優點與缺點,並說明某些案例較受歡迎的原因。
附註 |
---|
大部分網站或 Windows 專案都可以倚賴兩個最簡單的繫結案例:繫結至內嵌或非內嵌報表;這些案例將會在教學課程中逐步說明。因此,閱讀本節之前,請先完成「教學課程」中的教學課程。 |
Crystal Reports 的建議繫結案例
使用 ReportDocument 物件模型繫結報表的案例通常比使用 CrystalReportViewer 物件模型的案例受歡迎。(請參閱與 「與 ReportDocument 物件模型繫結的報表」和與 「與 CrystalReportViewer 物件模型繫結的報表」)。那是因為 ReportDocument 物件模型提供更廣泛的 API,可與報表以程式設計方式進行互動。如需物件模型的詳細資訊,請參閱「我應該使用哪一個物件模型?」
大多數 Crystal Reports for Visual Studio 使用者較偏好的案例是「繫結至內嵌的報表類別」。雖然不是效能最佳化的最佳選擇,卻是使用上最簡單的方法:只需將報表加入至專案建立報表包裝函式類別,接著產生報表包裝函式類別,然後傳遞至 CrystalReportViewer 控制項。因為報表包裝函式類別繼承自 ReportDocument 基底類別,所以您擁有 ReportDocument 物件模型完整功能的存取權。
在 Crystal Reports for Visual Studio 中繫結報表的另一種常用方式如「繫結至已載入 ReportDocument 類別中的非內嵌報表」所述。它不但提供 ReportDocument 物件模型完整功能的存取,還提供非內嵌報表的額外好處,如此即不需重新編譯應用程式便能修改報表。
有些繫結案例會使用 ASP.NET 快取物件 (請參閱「 繫結至快取的內嵌報表類別 」和「繫結至已載入快取管理公用程式類別中的非內嵌報表」)。這些案例可以將具高度共用性的報表效能最佳化。請參閱「以「高度共用性」快取報表」。
報表應用程式伺服器 (RAS) 的建議繫結案例
如果您的 Crystal Reports for Visual Studio 應用程式已經附加 Unmanaged 報表應用程式伺服器 (請參閱 「報表應用程式伺服器 (RAS)」) 授權,則可擁有下列額外的功能:
- RAS 報表引擎提供的增強延展性。
- ReportClientDocument 物件模型的存取權,可提供用來修改報表的進階功能。
依據專案設定的情形,您可以對 RAS 使用三項報表繫結案例。
- 如果搭配 RAS 10 使用 Crystal Reports 10,您只需在每份報表上附加兩行程式碼,即可將原本以 Crystal Reports (使用內嵌的報表) 建立的專案移植到 RAS 及 ReportClientDocument 物件模型。請參閱「使用 ReportDocument.Load() 方法繫結至 Unmanaged RAS 伺服器」。
- 若要最佳化上述案例,請在 RAS 伺服器上製作內嵌報表的複本,並指示 RAS 使用這些複本。請參閱「使用 ReportDocument.FileName 屬性繫結至 Unmanaged RAS 伺服器」。
- 當您在 RAS 10 中建立新專案時,儘管這些專案要搭配 RAS 9,您還是可以將報表直接載入至 ReportClientDocument 物件模型。請參閱「使用 ReportClientDocument.Open() 方法繫結至 Unmanaged RAS 伺服器」。
Crystal Reports Server 或 BusinessObjects Enterprise 的建議繫結案例
如果您已經升級至 Crystal Reports Server 或 BusinessObjects Enterprise,就會有四個建議的報表繫結案例。要使用哪一個案例取決於您對報表修改及延展性的需求:
- 為了尋求可能的最佳速度及效能,您可以顯示不需程式設計修改的報表。請參閱「繫結至 ReportSource (Crystal Reports Server 或 BusinessObjects Enterprise 11)」。
- 您可以藉由存取 ReportClientDocument 物件模型,以程式設計的方法將報表修改成顯示處理程序的一部份。請參閱「使用 ReportAppFactory.OpenDocument() 方法繫結至 Managed RAS 伺服器」。
- 如果搭配 Crystal Reports Server 或 BusinessObjects Enterprise 來使用 Crystal Reports Developer,您可以藉由將內嵌報表的複本發行至 Crystal Reports Server 或 BusinessObjects Enterprise,將原本以 Crystal Reports (使用內嵌的報表) 建立的專案移植到 Crystal Reports Server 或 BusinessObjects Enterprise,同時還能保留現有的報表程式碼。請參閱「使用 ReportDocument.FileName 屬性繫結至 Managed RAS 伺服器」,以參考報表複本。
- 您可以將報表當作 Enterprise 架構中的 InfoObject 執行個體進行存取,以便能夠排定報表的時程以及修改報表參數。請參閱「繫結至轉型為 Report 的 InfoObject」。
讀完本節之後,您可能想要檢視所有案例的詳細清單,以完整探討 SDK 中提供的所有選項。請參閱「所有案例的詳細清單」。