绑定到 Crystal Enterprise(Crystal Reports 10 和更高版本)
![]() |
---|
本页描述了在 Crystal Reports for Visual Studio 中未提供但在升级版本中提供的功能。若需更多有关 Crystal Reports for Visual Studio 的信息,请参见“什么是 Crystal Reports for Visual Studio?”有关升级版本的更多信息,请参见“升级选项”。 |
对象模型
此报表绑定方案使用 ReportDocument(请参见“通过 ReportDocument 对象模型进行报表绑定”)。
报表的位置
报表位于托管 RAS 服务器(请参见“报表应用程序服务器(RAS)”)中。报表被包装在 ReportDocument 类中。
Crystal 服务概述
此报表绑定方案适用于从服务器资源管理器中的“Crystal 服务”服务器节点访问的报表。
![]() |
---|
有关 Crystal 服务的概述,请参见“使用 Crystal 服务”。 |
本节详细介绍 Crystal Reports 开发人员版中 Crystal 服务的“Crystal Enterprise”子节点。
[服务器名]
- Crystal 服务
- Crystal Enterprise
说明
“Crystal Enterprise”子节点访问由 Crystal Enterprise 中的托管 RAS 服务器提供的报表,并随后显示这些报表。
“Crystal 服务”>“Crystal Enterprise”节点通过托管 RAS 服务器提供 Crystal Enterprise 中的报表。Crystal Enterprise 节点可正常工作,但如果 Crystal Enterprise 未安装在开发计算机上,则转到此节点的“属性”并设置网络上的 Crystal Enterprise 服务器名称。
将报表从“Crystal 服务”>“Crystal Enterprise”节点拖放到 Web 或 Windows 窗体上时,就会生成一个 ReportDocument 实例。ReportDocument 类起到包装类的作用。其目的就是包装(表示)从 Crystal Enterprise 中的 RAS 服务器传递来的报表。
有关 Crystal 服务的比较表格,请参见以下章节之一:
有关可以通过 Crystal Enterprise 进行的报表绑定解决方案的摘要,请参见“推荐方案摘要”。
优点
- 访问简便:可以从 Web 应用程序方便地访问 Crystal Enterprise 中的 RAS 报表。
- 广泛的编程交互:允许访问功能强大的 ReportDocument 对象模型。此版本中的报表包装类是 ReportDocument。这是第一个允许访问 ReportDocument 对象模型的 Crystal 服务版本。
缺点
- 编码不太直接:不像对具有 ReportClientDocument 对象模型的 RAS 报表进行编码那样直接。请参见“使用 ReportAppFactory.OpenDocument() 方法绑定到托管 RAS 服务器”。
使用“Crystal 服务”>“Crystal Enterprise”
- 安装了 Crystal Reports 10 或 XI,并且经验证可以正常工作。
![]() |
---|
此过程仅适用于已通过“项目设置”创建的项目。“项目设置”包含此过程需要的特定命名空间引用和代码配置。如果没有该配置,将无法完成此过程。因此,在开始此过程之前,必须首先执行“项目设置”中的步骤。 |
在 Visual Studio 中,打开“服务器资源管理器”。
展开“Crystal 服务”,然后展开“Crystal Enterprise”。
从“Crystal Enterprise”树中选择一个报表,然后将其拖到窗体上。
在“设计”视图窗体的底部,将出现 reportDocument1 对象。
注意
将 Crystal Enterprise 报表放置在窗体上时,ReportDocument 类的实例将被添加到窗体设计器生成的代码区域。
当在设计器生成的代码区域实例化并配置从 System.ComponentModel.Component 继承的类(例如 ReportDocument)时,此实例化类的图标显示在“设计”视图中窗体的底部。
切换到代码视图并打开“Web 窗体设计器生成的代码”区域或“Windows 窗体设计器生成的代码”区域。
已在该区域内实例化并配置了一个 ReportDocument 类。
- 在 ConfigureCrystalReports() 方法(在“项目设置”中创建)中,将 ReportDocument 实例赋给 CrystalReportViewer 控件的 ReportSource 属性。
``` vb
myCrystalReportViewer.ReportSource = reportDocument1
```
``` csharp
crystalReportViewer.ReportSource = reportDocument1;
```
- 生成并运行您的 Web 项目以查看该报表。