ReportDocument 类为 SDK 提供了范围比 CrystalReportViewer 对象模型更广泛的对象模型。
ReportDocument 类是 CrystalDecisions.CrystalReports.Engine 命名空间的组成部分。它起到一条通道的作用,通向 Engine 命名空间中的一组类,这些类为通过编程方式对报表进行操作提供了更多工具。
ReportDocument 对象模型
在上一节中,介绍了如何通过将报表路径字符串直接赋给 CrystalReportViewer 控件来使用基本的 CrystalReportViewer 对象模型。请参见 “CrystalReportViewer 对象模型”。
在对象模型的下一个级别,将在把报表赋给该控件之前,使用 ReportDocument 对象模型将报表封装到一个 ReportDocument 实例内。这样就可以访问 ReportDocument 中提供的更为复杂和强大的对象模型了。
注意 |
|---|
由于此过程会涉及这两个对象模型(使用 CrystalReportViewer 加载和显示报表,使用 ReportDocument 封装和操作报表),因此这两个对象模型的角色容易被混淆。使用 ReportDocument 对象模型封装了报表后,所有报表操作必须限制在该模型中。如果尝试使用 CrystalReportViewer 的属性和方法来操作报表,这两个对象模型会发生冲突,导致意外的行为。 在引入了附加的对象模型后,应将 CrystalReportViewer 代码的使用限制为仅用于设置显示属性。 有关如何选择对象模型的更多信息,请参见“应该使用哪种对象模型?”。 |
ReportDocument 和 ReportClientDocument(RAS)
在Crystal Reports 9 中,这两种对象模型是完全分开的。在 Crystal Reports 10 和更高版本中,这两种对象模型已不再是彻底分开的。ReportDocument 对象模型现在是 ReportClientDocument 对象模型功能的代理(子集)。
Crystal Reports 2008 允许用户通过 ReportDocument.ReportClientDocument 属性访问 ReportClientDocument 对象模型的受限版本。
ReportDocument 对象模型关系图
此关系图显示了 ReportDocument 对象模型的关系。
.gif)
图 3: ReportDocument 对象模型
请参见
-
本节介绍了有关 ReportDocument 对象模型的多种教程。
注意