共用方式為


避免混用物件模型

不要將 CrystalReportViewer 物件模型與其他物件模型混用。

假如使用簡單路徑字串將控制項直接繫結至報表,只要以限制的物件模型的角色來使用 CrystalReportViewer 控制項,就能正常運作。

但如果將報表封裝於某個其他的物件模型 (例如 ReportDocument 或 ReportClientDocument),再將控制項繫結至該物件模型的話,請立即停止使用 CrystalReportViewer 物件模型。CrystalReportViewer 控制項提供的限制模型對其所繫結功能強大的物件模型而言,顯得累贅。再者,套用至 CrystalReportViewer 物件模型的設定對其他物件模型而言也是可見的,這樣可能導致非預期的行為和例外狀況。

例如,您可能想要使用 ReportDocument 物件模型,從伺服器匯出或列印每月報表。如果您已經在這個報表上使用 CrystalReportViewer 物件模型來設定月份參數,即可能遇到問題。ReportDocument 物件模型看不到 CrystalReportViewer 物件模型所套用的參數設定。它會在不知道該月份參數設定的情況下嘗試匯出或列印報表,因而顯示錯誤的月份,甚至會擲出例外狀況。

最佳的解決方式為限制只有當控制項已經繫結至一個基礎物件模型時,才能針對報表顯示設定使用 CrystalReportViewer 控制項。