Crystal Report在VS2010中的使用

本文介绍如何在Visual Studio 2010中使用Crystal Report,包括所需DLL的引用、CrystalReportViewer控件的注册及使用方法,并提供了一个显示报表数据的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VS2010不在像VS2008及以前版本那样支持Crystal Report了,不过SAP公司还是很给劲的,随即发布了CR for2010的免费开放版。虽然如此,但刚上手使用的朋友们可能还是很费周折。下简述使用。

如果只是为了能够在VS2010中运行有报表的程序,则可以简单的将运行程序所需的dll引入项目即可。如果你的机器没有这些组件可以来这下载:点我。一般只需要引用

CrystalDecisions.CrystalReports.Engine.dll、CrystalDecisions.Shared.dll和CrystalDecisions.Web.dll即可。下载后将其放入web/bin下,然后引用它们就可以了。

上述只适用于运行他人编写的有关报表的项目,做为开发者则还需进行其他工作。

VS2010不在支持Crystal report的设计,我们下载SAP公司的免费版(for VS2010)来设计即可(设计过程同在VS2008中没什么区别,只是环境独立了)。随后将我们设计的第一个报表文件crTeacherWorkLoad.rpt文件拷贝到项目App_Data中。

我们使用CryStalReportViewer控件来显示刚才设计好的rpt文件。VS2010IDE工具箱中不包含该控件,如果你安装了CR for VS2010则可以使用如下方法来显示该控件:

1

如果没有此控件则可以直接将此控件的代码放入所需的aspx页面中,然后在这个aspx页面内注册此控件。

控件代码如下所示:

<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" DisplayGroupTree="false" Height="50px" Width="350px"/>

注册代码放到页面头头,代码如下所示:

<%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

<!--Register Assembly="<span style="color: #8b0000" mce_style="color: #8b0000">CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</span>"
    Namespace="<span style="color: #8b0000" mce_style="color: #8b0000">CrystalDecisions.Web</span>" TagPrefix="<span style="color: #8b0000" mce_style="color: #8b0000">CR</span>"-->

如此以来再有了前面的三个dll的引用,就可以使用此控件来显示所需要的报表内容了。显示过程代码如下所示:

//加载报表文件,设置报表源 ReportDocument reportDocument = new ReportDocument(); reportDocument.Load(Server.MapPath("../../App_Data/crTeacherWorkLoad.rpt")); reportDocument.SetDataSource(DtAllTeacherWorkLoad);//);//DtAllTeacherWorkLoad是查询出来的DataTable,其字段同rpt文件字段相同 CrystalReportViewer1.ReportSource = reportDocument; //将数据库信息传递给报表 //定义水晶报表的数据库连接信息 ConnectionInfo connectionInfo = new ConnectionInfo(); string aservername, bDBName, cUserId, dPwd; //获取服务器名、数据库名,登录名,密码 aservername = System.Configuration.ConfigurationManager.AppSettings["ServerName"]; bDBName = System.Configuration.ConfigurationManager.AppSettings["DataBase"]; cUserId = System.Configuration.ConfigurationManager.AppSettings["UserId"]; dPwd = System.Configuration.ConfigurationManager.AppSettings["PassWord"]; connectionInfo.DatabaseName = bDBName; connectionInfo.UserID = cUserId; connectionInfo.Password = dPwd; connectionInfo.ServerName = aservername; //SetDbLoginForReport(connectionInfo); TableLogOnInfos tableLogOnInfos = CrystalReportViewer1.LogOnInfo; foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos) { tableLogOnInfo.ConnectionInfo = connectionInfo; }

本文讲了三个小问题,一是如何引用所需dll显示报表文件,二是如何注册CrystalReportViewer控件,三是如何使CrystalReportViewer控件显示报表数据。至于报表文件(rpt)的设计则要学习Crystal Report 10软件的使用了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值