注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

水滴石穿

破浪是阵风!

 
 
 

日志

 
 

水晶报表.NET 2003 下使用水晶报表(Crystal Report)  

2007-11-11 09:20:16|  分类: 软件开发技术资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

水晶报表.NET 2003 下使用水晶报表(Crystal Report)

Crystal Reports for Visual Studio .NET 是用于 Visual Studio .NET 的标准报表开发工具, 使用他可以快速创建各种类型的报表(如交叉表、子报表、图表……)并能同时承载于Web和 Windows平台,还可将 Crystal 报表作为报表 Web 服务在 Web 服务器上发布。

一、在第一次使用.NET自带的水晶报表设计器时,设计器会提示注册。

注册号: 6655108968

密钥号:AAP5GKS0000S272000F

二、将数据加载到报表并显示数据。

       Crystal Reports提供拉模型和推模型两种数据访问方式,在拉模型中,驱动程序将直接连接到数据库并根据需要将数据“拉”进来,使用这种模型时,为了获取数据而执行的 SQL 命令由 Crystal Reports 本身处理,不需要开发人员编写代码,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集(DataSet),并且将该数据集传递给报表。

 

使用ADO.NET 数据集创建报表:

1、  添加数据集框架文件,将文件命名为DataSet1.xsd。

2、  向DataSet1.xsd添加数据集框架,可以手动添加框架也可以从“服务器资源管理器”中将数据库中的数据表拖拉到DataSet1.xsd中自动生成数据的框架。

3、  创建新报表。

①、在 Visual Studio .NET 解决方案资源管理器中,右击您的项目以显示快捷菜单。

②、指向“添加”,单击“添加新项”。

③、在“添加新项”对话框中,从“模板”区域选择“Crystal Report”。单击“打开”。

④、在 Crystal Report 库中,选择下列选项之一:

a)       使用报表专家——指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer。

b)       作为空白报表——打开 Crystal Report Designer。

c)       来自于现有的报表——创建新报表,它与指定的另一报表设计相同。

⑤、向报表添加数据集框架,打开报表设计器后,右击“字段资源管理器”中的数据库字段项,选择“添加或删除数据库”项打开“数据库专家”。点击“项目数据”—>“ADO.NET”将刚才创建的DataSet1.xsd添加到报表中。

⑥、使用数据表中的字段设计报表,详细的设计可以参考开发工具中的帮助文档。

4、  使用CrystalReportViewer报表查看器,查看报表数据,Web 应用程序使用 Web 窗体CrystalReportViewer,而Windows 应用程序则使用 Windows 窗体 CrystalReportViewer

5、  将CrystalReportViewer从工具箱中拖到web或windows窗体上。

6、   通过程序将报表绑定到CrystalReportViewer上,并将数据集中的数据显示到CrystalReportViewer上。

ReportDocument repDoc= new ReportDocument(); //报表类

repDoc.Load(m_ReportPath); //加载报表文件,m_ReportPath为报表文件的物理路径。

repDoc.SetDataSource(ds);  //设置报表的数据源,ds表示与上面创建的DataSet1.xsd具有相同框架的数据集。

crViewer.ReportSource = repDoc;  //将报表对象绑定到CrystalReportViewer报表查看器的ReportSource属性上。

 

7、  将报表数据导成 .PDF,.RTF,.DOC,.HTML,.XLS等文件格式,程序如下:

ReportDocument repDoc= new ReportDocument();  //报表类

repDoc.Load(m_ReportPath);  //加载报表文件,m_ReportPath为报表文件的物理路径。

repDoc.SetDataSource(ds); //设置报表的数据源,ds表示与上面创建的DataSet1.xsd具有相同框架的数据集。

ExportOptions exOpt=repDoc.ExportOptions;  //创建输出对象exOpt

exOpt.ExportDestinationType=ExportDestinationType.DiskFile;  //设置导出目标类型,diskfile为磁盘文件

DiskFileDestinationOptions diskOpt = new DiskFileDestinationOptions ();

exOpt.DestinationOptions =diskOpt;   //为exOpt属性DestinationOptions设置值

diskOpt.DiskFileName=C:\ ReportTemp\report.pdf  ;    //设置导出文档的路径和文件名

exOpt.ExportFormatType=ExportFormatType.PortableDocFormat//设置导出文档的格式为pdf格式。这里可以设置其他文件格式。

repDoc.Export(); //将文件导出。

三、部署报表。

要运行报表程序,必须在目标机器上部署Crystal Reports 合并模块,可以创建web安装项目或windows安装项目来部署合并模块,创建安装项目时需要将下列合并模块添加到项目中

Crystal_Database_Access2003.msm

Crystal_Database_Access2003_chs.msm

Crystal_Managed2003.msm

Crystal_Managed2003_chs.msm

Crystal_regwiz2003.msm

VC_User_CRT71_RTL_X86_---.msm (被基于 ADO.NET 的报表使用)

VC_User_STL71_RTL_X86_---.msm (被基于 ADO.NET 的报表使用)

创建步骤:

1、创建一个安装项目。

2、向项目中添加报表的合并模块。

在注册模块Regwiz的属性license key 添入密钥号:AAP5GKS0000S272000F(否则运行报表时报表引擎会报“无效密钥”的错误)

3、生成项目

四、使用报表中可以出现的各种问题

1、  水晶报表查询引擎出错的问题:

设计时的数据集框架和数据源中数据集框架不同引起的(如列名不同,表名不同….)

2、  水晶报表登陆出错的问题,可能原因:

①、报表文件不存在

②、存放报表文件的文件夹的权限问题(NTFS格式的文件),可以给EveryOne用户添加完全控制权限。

③、水晶报表 Web 查看器文件夹 NTFS 权限的问题 涉及的文件夹

VS.NET Crystal Reports: C:\Program Files\Microsoft Visual Studio .NET\Crystal Reports\Viewers

④、导出时的目标文件夹(临时文件夹) NTFS 权限的问题.需要EveryOne完全控制权限。

 

 

3、  水晶报表加载出错的问题,可能原因:

需要加载的报表文件不存在,或物理路径不对。

  评论这张
 
阅读(315)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017