绑定到服务器文件(Visual Studio 2005 和更高版本)

对象模型

此报表绑定方案使用 CrystalReportViewer 对象模型(请参见“通过 CrystalReportViewer 对象模型进行报表绑定”)。

报表的位置

报表位于本地文件目录中的报表文件夹中(请参见“示例报表目录”)。此位置中的报表以报表 Web 服务的形式提供。

服务器文件概述

此报表绑定方案适用于通过 Web 服务作为服务器文件访问的报表。

Note注意

有关 Crystal 服务的概述,请参见“使用 Crystal 服务”

说明

报表以来自本地文件目录的报表 Web 服务的形式提供,服务器文件 Web服务访问并随后显示这些报表。在 Visual Studio 2005 和更高版本中,可通过编程方式来访问服务器文件。

若需Crystal 服务的对照表,请参见“使用 Crystal 服务的 CrystalReportViewer 绑定方案”“使用 Crystal 服务(VS .NET 2002 和 2003)的ReportDocument 绑定方案”.

优点

  • 集中访问报表:为示例报表目录中的所有报表提供一个访问点(请参见“示例报表目录”),这样可以在本地硬盘上创建一个高效的报表资源库。

缺点

配置服务器文件

在 Crystal Reports for Visual Studio 中,可通过编程方式来访问服务器文件。每个“什么是 Crystal Reports for Visual Studio?” 版本在 SDK 中继续支持以编程方式访问服务器文件。

有关服务器文件配置的详细说明,请参见“在 Visual Studio 2005 或 2008 中配置服务器文件”

手动编写服务器文件代码

Note注意

此过程仅适用于已通过“项目设置”创建的项目。“项目设置”包含此过程需要的特定命名空间引用和代码配置。如果没有该配置,将无法完成此过程。因此,在开始此过程之前,必须首先执行“项目设置”中的步骤。

  1. 在 ConfigureCrystalReports() 方法(在“项目设置”中创建)中,声明 ServerFileReport 的一个实例。
``` vb
Dim myServerFileReport As CrystalDecisions.Shared.ServerFileReport = _New CrystalDecisions.Shared.ServerFileReport()
```

``` csharp
CrystalDecisions.Shared.ServerFileReport serverFileReport = new CrystalDecisions.Shared.ServerFileReport();
```
  1. 将 ServerFileReport 的 ObjectType 属性设置为 REPORT。

    myServerFileReport.ObjectType = CrystalDecisions.[Shared].EnumServerFileType.REPORT
    
    serverFileReport.ObjectType = CrystalDecisions.Shared.EnumServerFileType.REPORT;
    
  2. 将 ServerFileReport 的 ReportPath 属性设置为该报表及其子目录。

    有关示例报表的信息,请参见“示例报表目录”

    myServerFileReport.ReportPath = "\General Business\World Sales
    Report.rpt"
    
    serverFileReport.ReportPath = "\\General Business\\World Sales
    Report.rpt";
    
  3. 将 ServerFileReport 的 WebServiceURL 属性设置为报表 Web 服务的位置。

    如果安装了 Crystal Reports 开发人员版,则它为已安装的 Crystal Reports 版本的查看器虚拟目录(请参见“查看器虚拟目录”)。如果尚未安装 Crystal Reports 开发人员版,则它是在“在 Visual Studio 2005 或 2008 中配置服务器文件”中创建的报表 Web 服务的 URL。

    Note注意

    在以下代码中,为 Crystal Reports for Visual Studio 2005 配置了查看器虚拟目录。

    myServerFileReport.WebServiceUrl =
    "https://localhost/CrystalReportsWebServices2005/ServerFileReportService.asmx"
    
    serverFileReport.WebServiceUrl =
    "https://localhost/CrystalReportsWebServices2005/ServerFileReportService.asmx";
    
  4. 将 ReportSource 控件的 CrystalReportViewer 属性设置为 ServerFileReport 实例。

    myCrystalReportViewer.ReportSource = myServerFileReport
    
    crystalReportViewer.ReportSource = serverFileReport1;
    

请参见