对象模型
Crystal Reports for Visual Studio 提供了一个包含两个对象模型的 SDK。获得额外的授权后,该 SDK 可扩展到包含四种对象模型。
报表查看器的控件提供了到 SDK 的入口点(参见“报表查看器控件”)。这是因为报表查看器通过绑定到报表对象来显示报表;SDK 中的所有对象模型都会提供和操作报表对象。
每种对象模型提供的功能和复杂度逐渐增加:
-
最简单的对象模型是 CrystalReportViewer。请参见 [“CrystalReportViewer 对象模型”](ms225258\(v=vs.90\).md)。
根据定义,Web 或 Windows 窗体中的 CrystalReportViewer 控件具有一个与其名称相同的基础类。这个 CrystalReportViewer 类提供用于修改该控件的显示功能和用于与管理数据库登录、参数和选择公式的类进行交互的属性和方法。这组类是最简单的对象模型。CrystalReportViewer 类有两种不同的形式:一种在 Windows 命名空间中,一种在 Web 命名空间中。因此,此对象模型的许多元素在两个命名空间中都是重复的,但也有一些不同之处以支持 Windows 和 Web 平台之间的差别。
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>有关如何选择对象模型的更多信息,请参见<a href="ms225524(v=vs.90).md">“为您的项目选择正确的对象模型”</a>。</p></td>
</tr>
</tbody>
</table>
对于此控件的 Web 窗体版本,此对象模型的类包含在 CrystalDecisions.Web 命名空间内;对于此控件的 Windows 窗体版本,此对象模型的类包含在 CrystalDecisions.Windows.Forms 命名空间内。
范围更广泛的对象模型是 ReportDocument。请参见 “ReportDocument 对象模型”。
ReportDocument 类是通向 Engine 命名空间中的一组类的通道,这些类包括 Database、DataDefinition、ExportOptions、PrintOptions、ReportDefinition、ReportOptions 和 SummaryInfo。这组类范围广泛,提供了更强大的自定义功能和与报表交互的功能。
此对象模型的类包含在 CrystalDecisions.CrystalReports.Engine 命名空间内。
通过升级,可以获得以下对象模型:
一个具有更强大的报表修改功能的对象模型,名为 ReportClientDocument。请参见 “ReportClientDocument 对象模型(RAS)”。
这个类起到一条通道的作用,通向一个大得多的对象模型,该对象模型由跨多个命名空间的许多类组成。它通过 SDK 提供整个报表结构,这样,您就可以通过编程方式在运行时创建或修改报表的各个方面。
此对象模型的类包含在 CrystalDecisions.ReportAppServer 命名空间组内。
ReportClientDocument 对象模型随报表应用程序服务器(RAS)提供,而该产品需要额外的许可授权。请参见“升级 Business Objects 报表解决方案”。应用程序服务器则随 Crystal Reports Server 和 BusinessObjects Enterprise 提供。
注意 ReportClientDocument 对象模型随 Crystal Reports 2008 提供。
一种范围广泛的对象模型,用于与 Crystal Reports Server 或 BusinessObjects Enterprise 的企业级函数进行交互,名为 InfoObject。请参阅 “InfoObject 对象模型 (BOE)”。它随 Crystal Reports Server 或 BusinessObjects Enterprise 许可证提供。
这个类起到一条通道的作用,通向 Crystal Reports Server 或 BusinessObjects Enterprise 的完整 Enterprise 对象模型。
此对象模型的类包含在 CrystalDecisions.Enterprise 命名空间组内。
注意 InfoObject 对象模型仅随 Crystal Reports Server 和 BusinessObjects Enterprise 提供,而这两种产品需要额外的许可授权。请参见 “报表应用程序服务器(RAS)”。