C#语言VS2005中的CrystalReportViewer控件的用法

CrystalReportViewer 控件:该控件将报表显示在基于页面的布局中,可在页面之间进行移动。
CrystalReportViewer 对象模型是四个对象模型中最简单的一个。但由于其功能有限,通常不建议您使用此对象模型,而建议使用范围更广泛的 ReportDocument 对象模型。


CrystalReportViewer 对象模型提供了七个报表绑定方案:
1、使用代码绑定到文件目录路径
这是最简单的报表绑定方案:使用位于文件目录中的报表的路径字符串将其绑定到 CrystalReportViewer 控件。
优点
低维护:可以添加、删除或修改报表,而无需重新编译应用程序。
实现简单:无需声明和实例化类。它将报表直接传递给 CrystalReportViewer 控件,而不使用 ReportDocument 对象模型。
缺点
分布有限:由于要授予 ASPNET 用户帐户访问网络上的另一台计算机的权限非常复杂,因此报表通常与应用程序位于同一台计算机上。
对象模型有限:这个绑定方案只提供属于 CrystalReportViewer 的有限对象模型。请参见应该使用哪种对象模型?。
实现
注意 此过程仅适用于已通过项目设置创建的项目。“项目设置”包含此过程需要的特定命名空间引用和代码配置,而没有该配置,您将无法完成此过程。因此,在开始此过程之前,您必须首先执行项目设置中的步骤。
在 ConfigureCrystalReports() 方法(在项目设置一节中已创建)中,将一个文件目录路径字符串赋给 CrystalReportViewer 类的 ReportSource 属性。
这会将该报表直接绑定到该控件。所有要通过编程方式与报表进行的交互都必须在有限的 CrystalReportViewer 对象模型中完成。
crystalReportViewer.ReportSource = "C://Program Files//General Business//" + "SalesReport.rpt";
注意 该文件目录路径指向 General Business文件夹中的报表。

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

2、报表存储在文件目录中
这是最简单的报表绑定方案的可替代版本,用代码绑定到文件目录路径。通过路径字符串将文件目录中的报表绑定到 CrystalReportViewer 控件,但是在“属性”窗口中进行赋值,直接赋值给 ReportSource 属性或者 DataBindings>ReportSource 属性。 对于 Web 项目,报表路径字符串被直接插入到 ASPX 页面的 HTML 中,而不是插入代码隐藏类的代码中。

优点
设计时预览:在 Web 或 Windows 窗体中,在设计时预览报表。
注意 设计时预览功能在网站已经存在,但是在 Windows 项目中是一项全新的功能。有关更多信息,请参见如何使用 CrystalReportViewer 控件?一节中的设计时预览。
列在用代码绑定到文件目录路径中的相同优点。

缺点
对于 Web 应用程序,由于绑定发生在 HTML 页面,需要在代码隐藏类中为 CrystalReportViewer 控件调用 DataBind() 方法。
注意 在 Crystal Reports for Visual Studio 2005 中已没有该限制。有关更多信息,请参见从“属性”窗口到 Crystal Reports 的自动数据绑定。
分布有限:由于要授予 ASPNET 用户帐户访问网络上的另一台计算机的权限非常复杂,因此报表通常与应用程序位于同一台计算机上。
对象模型有限:这个绑定方案只提供属于 CrystalReportViewer 的有限对象模型。请参见应该使用哪种对象模型?。

实现方法:
使用“属性”窗口绑定到文件目录路径
创建新的 Web 或 Windows 项目。
从“工具箱”中将 CrystalReportViewer 拖放到 Web 或 Windows 窗体。
单击 CrystalReportViewer 控件,将其选中。
从“属性”窗口中,给 ReportSource 属性分配一个文件目录路径字符串。
C:/Program Files/Microsoft Visual Studio 8/Crystal Reports/Samples/zh-chs/Reports/Feature Examples/Hierarchical Grouping.rpt
若要查看该报表,请生成并运行您的项目。
如果是使用 Crystal Reports for Visual Studio .NET 2002 或 2003 创建的 Web 项目,还需要向调用 CrystalReportViewer 控件的 DataBind() 方法的代码隐藏类添加代码。添加对 CrystalReportViewer.DataBind() 方法的调用

绑定到 CrystalReportSource 控件(Visual Studio 2005 中的网站)

3、报表存储在文件目录中
说明
这是最简单的报表绑定方案的可替代版本,用代码绑定到文件目录路径。在此方案中,您使用 ASP.NET 2.0 版的新的精简代码的、基于标记的应用程序开发模型来绑定报表。关于基于标记的应用程序开发模型的更多信息,请参见基于代码的应用程序开发模型。 注意 此报表绑定方案仅适用于网站。
在此方案中,您使用智能任务来创建 CrystalReportSource 控件。然后,为 CrystalReportSource 控件选择一个报表。 您将通过智能任务面板(在“设计”视图中)进行选择或直接输入声明性的 XML(在“源”视图中),而不是通过手动编写代码与报表进行交互和允许其访问 CrystalReportViewer 对象模型。
使用声明性的 XML,您可以将嵌套在 <Report> 标记中的 <Parameters> 和 <DataSources> 标记关联到参数和数据源框架中的各种非可视控件。
注意 参数和数据源框架是 ASP.NET 2.0 的新功能。它们包含以下控件:ControlParameter 或 QueryStringParameter 以及 SqlDataSource 或 JetDataSource。
基于标记的应用程序开发模型提供了与报表进行有限交互的快捷而简单的方法,而且不需要编写代码。

优点
设计时预览:在 Web 或 Windows 窗体中,在设计时预览报表。
创建报表交互的最简单的办法:基于标记的应用程序开发模型的简化的、精简代码方式能用来与报表进行交互。
列在用代码绑定到文件目录路径中的相同优点。

缺点
分布有限:由于要授予 ASPNET 用户帐户访问网络上的另一台计算机的权限非常复杂,因此报表通常与应用程序位于同一台计算机上。
对象模型有限:这个绑定方案只提供属于 CrystalReportViewer 的有限对象模型。

4、报表作为 Web 服务器(通常为远程)上承载的报表 Web 服务存在
说明
存储在另一台服务器上,作为报表 Web 服务的报表通过其 URL 绑定到 CrystalReportViewer 控件。

优点
分布范围广:报表可以位于 Internet 上的任何位置。
易于分发:报表 Web 服务使用端口 80,因此甚至可以跨防火墙进行访问。

缺点
对象模型有限:这个绑定方案只提供属于 CrystalReportViewer 的有限对象模型。请参见应该使用哪种对象模型?。
实现
注意 此过程仅适用于已通过项目设置创建的项目。“项目设置”包含此过程需要的特定命名空间引用和代码配置,而没有该配置,您将无法完成此过程。因此,在开始此过程之前,您必须首先执行项目设置中的步骤。
在 ConfigureCrystalReports() 方法(在项目设置一节中创建)中,将一个报表 Web 服务 URL 字符串赋给 CrystalReportViewer 类的 ReportSource 属性。
这会将该报表直接绑定到该控件。所有要通过编程方式与报表进行的交互都必须在有限的 CrystalReportViewer 对象模型中完成。
[C#]
crystalReportViewer.ReportSource =
"http://localhost/TestProject/World_Sales_ReportService.asmx";
注意 若要使用此绑定方案,请在 Visual Studio 2005 中创建一个报表 Web 服务项目。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值