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