绑定到服务器文件(Visual Studio 2005 和更高版本)
对象模型
此报表绑定方案使用 CrystalReportViewer 对象模型(请参见“通过 CrystalReportViewer 对象模型进行报表绑定”)。
报表的位置
报表位于本地文件目录中的报表文件夹中(请参见“示例报表目录”)。此位置中的报表以报表 Web 服务的形式提供。
服务器文件概述
此报表绑定方案适用于通过 Web 服务作为服务器文件访问的报表。
注意 |
---|
有关 Crystal 服务的概述,请参见“使用 Crystal 服务”。 |
说明
报表以来自本地文件目录的报表 Web 服务的形式提供,服务器文件 Web服务访问并随后显示这些报表。在 Visual Studio 2005 和更高版本中,可通过编程方式来访问服务器文件。
若需Crystal 服务的对照表,请参见“使用 Crystal 服务的 CrystalReportViewer 绑定方案”和“使用 Crystal 服务(VS .NET 2002 和 2003)的ReportDocument 绑定方案”.
优点
- 集中访问报表:为示例报表目录中的所有报表提供一个访问点(请参见“示例报表目录”),这样可以在本地硬盘上创建一个高效的报表资源库。
缺点
- 受限对象模型:这个绑定方案只提供属于 CrystalReportViewer 的受限对象模型。请参见“应该使用哪种对象模型?”。
配置服务器文件
在 Crystal Reports for Visual Studio 中,可通过编程方式来访问服务器文件。每个“什么是 Crystal Reports for Visual Studio?” 版本在 SDK 中继续支持以编程方式访问服务器文件。
有关服务器文件配置的详细说明,请参见“在 Visual Studio 2005 或 2008 中配置服务器文件”。
手动编写服务器文件代码
- 已配置了允许以编程方式访问服务器文件的报表 Web 服务,并且经验证可以正常工作。
- 或者,安装了“什么是 Crystal Reports for Visual Studio?”,并且经验证可以正常工作。
注意 |
---|
此过程仅适用于已通过“项目设置”创建的项目。“项目设置”包含此过程需要的特定命名空间引用和代码配置。如果没有该配置,将无法完成此过程。因此,在开始此过程之前,必须首先执行“项目设置”中的步骤。 |
- 在 ConfigureCrystalReports() 方法(在“项目设置”中创建)中,声明 ServerFileReport 的一个实例。
``` vb
Dim myServerFileReport As CrystalDecisions.Shared.ServerFileReport = _New CrystalDecisions.Shared.ServerFileReport()
```
``` csharp
CrystalDecisions.Shared.ServerFileReport serverFileReport = new CrystalDecisions.Shared.ServerFileReport();
```
将 ServerFileReport 的 ObjectType 属性设置为 REPORT。
myServerFileReport.ObjectType = CrystalDecisions.[Shared].EnumServerFileType.REPORT
serverFileReport.ObjectType = CrystalDecisions.Shared.EnumServerFileType.REPORT;
将 ServerFileReport 的 ReportPath 属性设置为该报表及其子目录。
有关示例报表的信息,请参见“示例报表目录”。
myServerFileReport.ReportPath = "\General Business\World Sales Report.rpt"
serverFileReport.ReportPath = "\\General Business\\World Sales Report.rpt";
将 ServerFileReport 的 WebServiceURL 属性设置为报表 Web 服务的位置。
如果安装了 Crystal Reports 开发人员版,则它为已安装的 Crystal Reports 版本的查看器虚拟目录(请参见“查看器虚拟目录”)。如果尚未安装 Crystal Reports 开发人员版,则它是在“在 Visual Studio 2005 或 2008 中配置服务器文件”中创建的报表 Web 服务的 URL。
注意 在以下代码中,为 Crystal Reports for Visual Studio 2005 配置了查看器虚拟目录。
myServerFileReport.WebServiceUrl = "https://localhost/CrystalReportsWebServices2005/ServerFileReportService.asmx"
serverFileReport.WebServiceUrl = "https://localhost/CrystalReportsWebServices2005/ServerFileReportService.asmx";
将 ReportSource 控件的 CrystalReportViewer 属性设置为 ServerFileReport 实例。
myCrystalReportViewer.ReportSource = myServerFileReport
crystalReportViewer.ReportSource = serverFileReport1;