如何在VS2010使用水晶 表组件

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则可以使用如下方法来显示该控件:

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

控件代码如下所示:

[xhtml] view plain copy print

  1. CR:CrystalReportViewerID=“CrystalReportViewer1”runat=“server”
  2. AutoDataBind=“true”DisplayGroupTree=“false”Height=“50px”Width=“350px”/>

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

[xhtml] view plain copy print

  1. %@ Register Assembly=“CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”
  2. Namespace=“CrystalDecisions.Web”TagPrefix=“CR” %>

<%@ register assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" namespace="CrystalDecisions.Web" tagprefix="CR" %>

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

[c-sharp] view plain copy print

  1. //加载 表文件,设置 表源
  2. ReportDocument reportDocument = new ReportDocument();
  3. reportDocument.Load(Server.MapPath(“../../App_Data/crTeacherWorkLoad.rpt”));
  4. reportDocument.SetDataSource(DtAllTeacherWorkLoad);//);//DtAllTeacherWorkLoad是查询出来的DataTable,其字段同rpt文件字段相同
  5. CrystalReportViewer1.ReportSource = reportDocument;
  6. //将数据库信息传递给 表
  7. //定义水晶 表的数据库连接信息
  8. ConnectionInfo connectionInfo = new ConnectionInfo();
  9. string aservername, bDBName, cUserId, dPwd;
  10. //获取服务器名、数据库名,登录名,密码
  11. aservername = System.Configuration.ConfigurationManager.AppSettings[“ServerName”];
  12. bDBName = System.Configuration.ConfigurationManager.AppSettings[“DataBase”];
  13. cUserId = System.Configuration.ConfigurationManager.AppSettings[“UserId”];
  14. dPwd = System.Configuration.ConfigurationManager.AppSettings[“PassWord”];
  15. connectionInfo.DatabaseName = bDBName;
  16. connectionInfo.UserID = cUserId;
  17. connectionInfo.Password = dPwd;
  18. connectionInfo.ServerName = aservername;
  19. //SetDbLoginForReport(connectionInfo);
  20. TableLogOnInfos tableLogOnInfos = CrystalReportViewer1.LogOnInfo;
  21. foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
  22. {
  23. tableLogOnInfo.ConnectionInfo = connectionInfo;
  24. }

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2012年11月7日
下一篇 2012年11月7日

相关推荐