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

水晶报表.NET 2003 下使用水晶报表(Crystal Report)
转贴:发表者: xymo   
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、  水晶报表加载出错的问题,可能原因:
需要加载的报表文件不存在,或物理路径不对。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值