CrystalReport操作,水晶报表操作

合集下载

CrystalReport水晶报表使用总结

CrystalReport水晶报表使用总结

水晶报表使用总结手头上的一个项目,终显雏形,其中遇到一些问题,经过多番努力,终于得以解决,主要是水晶报表方面的。

因为是第一次用,总结的同时,也给后来可能用到水晶报表的人一些微弱的指引,所以如果总结的不好的话,请大家指正。

关于水晶报表的一些基本概念,如push和pull模式等如果想了解的话,自己百度搜索下,或是找本书看就可以了。

这里我主要是根据实际应用到的要求,来进行带图的详细介绍,希望对新手有所帮助。

使用的是VS2008,在页面中添加命名空间的引用,主要有以下几个:using CrystalDecisions.CrystalReports.Engine;using CrystalDecisions.ReportSource;using CrystalDecisions.Shared;下面先来看下,利用水晶报表做出来的效果图,只是实现功能,界面未经过美工处理,有点难看,多多包涵.图一图二由于是统计报表,所以在应用中需要传递参数值,在实际应用中,我是利用了存储过程来实现的。

Create proc PrintCJ@cjbh varchar(50)AsSELECT Cjdy_zb.DWMC, Cjdy_zb.ND,Cjdy_zb.JD, Cjdy_zb.QSDD,Cjdy_zb.JFJZRQ, Cjdy_zb.YJQJS, Cjdy_zb.YJQJZ, Cjdy_zb.SKDW,Cjdy_fb.QSSY, Cjdy_fb.YT, Cjdy_fb.DYGY,Cjdy_fb.DEGY, Cjdy_fb.DSGY, Cjdy_fb.BCHJ FROM Cjdy_fb INNER JOIN Cjdy_zb ON Cjdy_fb.CJBH = Cjdy_zb.CJBH and Cjdy_zb.CJBH= @cjbh;GO下面截图截图一步一步来操作实现:(1)、在项目中添加一个新文件夹,如Report文件夹,然后在该目录下右键添加Crystal报表。

VB中水晶报表使用

VB中水晶报表使用

VB中水晶报表使用在VB中,水晶报表是非常常用的工具之一。

可以利用水晶报表来生成各种报表,如销售报表、库存报表等。

本篇文档将介绍VB中如何使用水晶报表。

水晶报表简介水晶报表(Crystal Reports)是由美国公司Crystal Decisions开发并推广的一款报表工具。

它能够通过与各种数据源连接,并结合VB等开发语言,使用丰富的报表设计工具,输出格式优秀、易于管理的报表。

水晶报表常被应用在财务、人力资源、生产管理等领域。

使用步骤步骤一:安装水晶报表在VB中使用水晶报表前,需要先安装相关组件。

水晶报表可以从Crystal Decisions官网下载,也可以通过在线安装程序直接安装。

步骤二:在VB中添加水晶报表安装完毕后,在VB工具箱中,通过右键单击“工具箱” -> “选择工具箱项目”,勾选“Crystal Report Viewer”和“Crystal Reports ActiveX Designer”,点击“确定”即可将水晶报表添加到工具箱中。

步骤三:设计报表在VB中建立一个报表项目,添加CrystalReport控件,然后我们就可以在报表设计器中进行样式、数据源、布局等相关设置。

设计完报表后即可在VB中引用并使用。

步骤四:运行报表在VB程序中,调用所设计的水晶报表,将数据源传入水晶报表中,再查看实际输出效果。

这一步需要注意传入的数据源要与报表设计器中设计的数据源一致,否则将无法正常输出报表。

注意事项1.数据源要与报表设计器中的数据源一致,否则报表将无法正常输出;2.在VB程序中使用水晶报表时,需要在程序头部声明相关引用;3.如果需要在VB项目中修改已经设计好的水晶报表,需要先关闭VB工程,再进行报表修改操作;4.水晶报表设计器中能够支持的数据源类型非常多,如Excel、XML、Access、Oracle等,使用中需要根据实际情况进行选择。

总结通过本文对VB中水晶报表的介绍,我们可以清楚的了解到水晶报表的作用及在VB中的使用方法,以更好地完成各种报表任务。

水晶报表的使用

水晶报表的使用

3.3 Pull模式的使用
首先创建rpt文件,并使用水晶报表设计接 口设置一些必须的数据连接。 拖放一个 CrystalReportViewer控件至 aspx页面,设置它的属性指定我们上一步 创建的.rpt文件。 在代码中调用DataBind方法。
创建 .rpt 文件:
1)
2) 3) 4) 5)
使用Pull模式导出报表
private void btnOutput_Click(object sender, System.EventArgs e) { CrystalReport1 myReport = new CrystalReport1(); CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts = new CrystalDecisions.Shared.DiskFileDestinationOptions(); myReport.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile; myReport.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDoc Format; DiskOpts.DiskFileName = "c:\\Output.pdf"; myReport.ExportOptions.DestinationOptions = DiskOpts; myReport.Export(); }
6)
7) 8)
在右击“解决方案游览器”,在弹出的菜单中选择“添加” --“添加新项”-->“Crystal Report” 在“Crystal Report 库”中选择“作为空白报表”单选按 钮,最后单击“确定”。 出现水晶报表设计器。 右击报表中的“详细资料区”,选择“数据库”->“添加/ 删除数据库..." 在弹出的“数据库专家”中,扩展“OLE DB(ADO)”选项, 此时会弹出另外一个“OLE DB(ADO)”窗口。 在 "OLE DB (ADO)" 弹出窗口中,选择 "Microsoft OLE DB Provider for SQL Server" 然后 "Next" 指定连接的信息(选择Pubs库) 单击“下一步”,最后单击“完成”按钮。

水晶报表实验

水晶报表实验
• DataSet,同时将它传送至报表。在这种情况下, 通
四、 • 过使用连接共享以及限制记录集合的大小,可以使 实验作业 用
• 报表性能最大化。
5
三、实验内容及步骤
一、 实验目的

3.2 Pull模式的使用
• 首先创建rpt文件,并使用水晶报表设 二、 计接口设置一些必须的数据连接。
实验环境
• 拖放一个CrystalReportViewer控件至 三、 aspx 页面,设置它的属性指定我们上 实验步骤 一步创建的.rpt文件。
实验目的

新建Windows项目
二、 • 添加CrystalReportViewer 控件
• 实验环境 添加“选择报表”按钮
• 添加按钮响应事件
三、
实验步骤
四、 实验作业
3
三、实验内容及步骤
一、 • 实验目的 •
• • 二、 实验环境 • •
三、 • 实验步骤

• 四、 • 实验作业
2Web窗体中水晶报表的使用 结构 – 客户端: 客户端仅需要一个可以访问嵌入aspx页面报表的游览器就可以了
10
三、实验内容及步骤
一、 实验目的

3.3 使用Push模式
• 设计一个DataSet
二、 • 创建一个.rpt文件同时将其指定给上一步建 实验环境 立的DataSet。
• 在aspx页面中拖放一个CrystalReportViewer
三、 实验步骤
控件同时将其与前面的rpt文件建立联系。
• 在代码中访问数据库并把数据存入DataSet
四、 • 调用DataBind方法。
实验作业
11
三、实验内容及步骤

水晶报表CrystalReports培训教程(可编辑)

水晶报表CrystalReports培训教程(可编辑)

水晶报表CrystalReports培训教程(可编辑)水晶报表CrystalReports培训教程Crystal Reports 用户指南Crystal Reports 11专利 Business Objects 拥有以下美国专利,涵盖Business Objects 提供和销售的产品:5,555,403、6,247,008 B1、6,578,027 B2、6,490,593 和 6,289,352。

商标Business Objects、Business Objects 徽标、Crystal Reports 和Crystal Enterprise 是Business Objects SA 或其附属公司在美国和其他国家 / 地区的商标或注册商标。

此处提到的所有其他名称可能是各自所有者的商标。

版权所有 Copyright C 2004 Business Objects。

保留所有权利。

目录第1 章 Crystal Reports 11 简介1.1 关于 Crystal Reports211.2 关于本指南221.2.1联机帮助.221.2.2Business Objects 信息资源..22第2 章 Crystal Reports 11 中的新功能2.1 介绍 232.2 强大的报表创制功能.232.3 提高的实用性.242.4 扩展的应用程序开发功能 252.4.1一般说明.252.4.2报表应用程序服务器 RAS262.4.3报表设计器组件 RDC.272.4.4Crystal Reports .NET.27 2.5 与 BusinessObjects Enterprise 11 的集成.28 第3 章安装 Crystal Reports 113.1 安装 Crystal Reports 1130 3.2 安装要求303.3 在本地计算机上安装 Crystal Reports31 3.4 创建安装点并从网络服务器进行安装..32 3.4.1创建 Crystal Reports 的安装点.323.4.2从网络安装 Crystal Reports.33 34 Crystal Reports 用户指南3.5 自定义安装343.6 运行无提示安装..353.7 升级 Crystal Reports 组件37第4 章快速开始4.1 学习如何使用 Crystal Reports39 4.1.1示例数据 -- Xtreme.mdb39 4.2 报表创建向导.394.2.1标准404.2.2交叉表 404.2.3邮件标签. 40 4.2.4OLAP40 4.3 新用户快速入门..41 4.3.1开始之前.41 4.3.2创建报表. 42 4.3.3记录选定. 52 4.3.4分组及排序55 4.3.5完成报表. 58 4.4 高级用户快速开始59 第5 章报表设计概念 5.1 基本报表设计.64 5.2 决定报表内容.64 5.2.1说明目的. 64 5.2.2确定报表布局 65 5.2.3查找数据. 66 5.2.4操作数据. 67 5.2.5确定打印区域特性68 5.3 设计纸张原型.69 第6 章建立报表简介 6.1 报表创建选项.70 6.1.1报表创建向导 706.1.2另一个报表706.1.3新建报表. 70目录 5 6.2 选择数据源和数据库字段 71 6.2.1数据库专家716.2.2字段资源管理器. 73 6.3 关于报表设计环境74 6.3.1“设计”选项卡746.3.2“预览”选项卡776.3.36>HTML 预览选项卡 80 6.4 创建新报表 816.4.1选择数据源816.4.2添加表 826.4.3链接多个表826.4.4将数据放在报表上84 6.4.5格式化数据906.4.6记录选定. 906.4.7分组、排序和汇总数据. 90 6.4.8对汇总数据使用深化选项91 6.4.9使用缩放功能 926.4.10插入页眉和页脚. 92 6.4.11将标题页添加到报表中. 93 6.4.12将汇总信息添加到报表中936.5 浏览报表和处理多个报表 946.5.1报表资源管理器. 946.5.2工作台 966.5.3依赖项检查器 976.5.4打开和停靠资源管理器. 98 6.6 超出基本报表. 99第 7 章 BusinessObjects Enterprise 储备库 7.1 BusinessObjects Enterprise 储备库是什么?. 1007.1.1工作流程 1017.2 访问 BusinessObjects Enterprise 储备库. 1017.2.1工具栏1027.2.2Enterprise 项文件夹. 1036 Crystal Reports 用户指南7.3 在储备库中添加文件夹.1047.4 在储备库中添加项目1047.4.1添加文本对象或位图图像. 105 7.4.2添加自定义函数 1057.4.3添加命令 1067.5 在报表中使用储备库对象..106 7.5.1在报表中添加文本对象或位图图像106 7.5.2在报表中添加自定义函数. 107 7.5.3在报表中添加命令. 1077.5.4将值列表添加到参数中 1087.6 修改储备库中的对象1087.7 在报表中更新连接的储备库对象..109 7.8 从储备库中删除项目1097.9 在储备库中使用“撤销”命令.110 第8 章设计优化的 Web 报表8.1 概述..1118.2 通过 BusinessObjects Enterprise 缩放112 8.2.1BusinessObjects Enterprise 中日期函数的求值时间 1138.3 作出正确的设计选择1148.3.1使用更快的报表格式1148.3.2在实时数据和已保存数据之间选择115 8.3.3设计汇总报表1168.3.4慎用子报表. 1178.3.5有效地使用其他设计元素. 118 8.3.6设计报表以昀大程度地利用数据共享 118 8.4 优化您的制表环境..1198.4.1选择昀快的数据库和连接. 119 8.4.2使用表索引. 1198.4.3改进表链接选择 1208.4.4使用线程安全数据库驱动程序 121 8.4.5使用存储过程进行更快的处理121目录 7 8.5 使用增强的记录选定公式1228.5.1下推记录选定 - 示例 1228.5.2记录选定性能提示. 1238.5.3编写高效记录选定公式的策略 124 8.5.4将参数字段合并到记录选定公式中125 8.5.5适时使用 SQL 表达式. 127 8.6 改进分组、排序和总计. 128 8.6.1在服务器上执行分组1288.6.2在服务器上分组的好处 - 示例. 128 8.6.3将 SQL 表达式用于分组、排序和总计129 8.6.4将 SQL 表达式用于 Case 逻辑130 8.6.5在可能的位置插入汇总和运行总计字段. 130 第 9 章记录选定9.1 选择记录. 1319.1.1使用“选择专家”. 1329.1.2使用公式 1339.1.3“选择专家”和“公式编辑器”的相互作用 1349.2 使用公式模板 1359.2.1记录选定公式模板. 1359.3 将记录选定下推到数据库服务器137 9.4 记录选定公式疑难解答. 137 9.4.1修正未生成数据的选定 139第 10 章排序、分组及总计10.1数据排序. 14110.1.1理解排序选项14110.1.2单一或多个字段排序14210.2将数据分组14410.2.1创建自定义组14510.2.2有条件地对组进行排序 146 10.2.3将组内记录排序 14710.2.4组选定1488 Crystal Reports 用户指南 10.2.5按间隔将数据分组15110.2.6根据公司名称的第一个字母分组 153 10.2.7分层次对数据分组 15410.2.8编辑组. 15910.3汇总分组的数据.16010.3.1根据汇总值对组排序. 161 10.3.2选择昀前或昀后 N 个组或百分比161 10.3.3有条件地选择处在昀前或昀后的组或百分比16310.4小计..16410.4.1数据小计16410.4.2扩展价格并小计扩展. 165 10.5百分比16610.5.1计算百分比 16610.6组页眉16710.6.1创建组页眉 167 10.6.2取消组页眉 171 10.6.3深化组页眉 171 第11章运行总计11.1了解运行总计17211.1.1运行总计如何工作 172 11.2创建运行总计17311.2.1在列表中创建运行总计173 11.2.2为组创建运行总计 174 11.2.3创建条件运行总计 175 11.2.4在一对多链接关系中创建运行总计. 17611.3使用公式创建运行总计.178 第12章多节报表12.1关于节18012.2使用节18012.2.1插入节. 180目录 9 12.2.2删除节18112.2.3移动节18112.2.4合并两个相关节 182 12.3拆分并调整节大小183 12.3.1拆分节18312.3.2调整节大小. 18312.4在报表中使用多个节 184 12.4.1防止可变长度的对象相互覆盖 18512.4.2当字段为空时消除空白行. 185 12.4.3有条件地添加空白行186 12.5套用信函. 18712.5.1使用文本对象18712.5.2使用文本对象创建套用信函189 12.5.3在套用信函内打印条件消息193 第 13 章格式化13.1格式化概念19513.2使用模板. 19513.2.1应用模板 19513.2.2删除应用的模板 19613.2.3重新应用上次选定的模板. 197 13.2.4使用“模板字段对象” 197 13.3使用报表设计环境19813.3.1设计解决方案19813.3.2节特性19913.3.3使对象延伸到后续节199 13.3.4预先打印好的窗体. 201 13.3.5多列. 20113.3.6隐藏报表节. 20213.3.7隐藏报表对象20213.3.8放置基于文本的对象204 13.3.9放置多行、基于文本的对象20613.3.10从文件导入基于文本的对象. 20710 Crystal Reports 用户指南13.3.11基于文本的对象间的间距207 13.3.12溢出字段表示法. 212 13.3.13选择多个对象 21313.3.14自由格式位置 21313.3.15垂直位置. 21513.3.16插入字符间距和行间距. 216 13.3.17设置小数字体大小21613.3.18TrueType 字体21713.3.19页边距 21713.3.20默认打印机21813.3.21打印机驱动程序. 219 13.4格式化属性..22013.5使用绝对格式化.22013.5.1向字段添加边框、颜色和阴影220 13.5.2将报表、节、区域或对象设置为只读221 13.5.3锁定对象的大小和位置222 13.5.4更改默认字段格式 222 13.5.5添加和编辑行. 22413.5.6添加和编辑框. 224 13.5.7向报表添加形状225 13.5.8使用常规计帐格式 226 13.5.9在横排页面上重复报表对象. 227 13.5.10在行间使用空白区域228 13.6使用条件格式化.229 13.6.1条件开或关属性230 13.6.2条件特性属性. 230 13.6.3有条件地更改字体 232 13.6.4有条件地更改 X 位置 232 13.6.5在第一页之后创建页脚233 13.6.6使用“突出显示专家”234 13.6.7撤消 /恢复活动237 13.7使用格式刷..237目录 11 第 14 章图表14.1绘制图表概念 23914.1.1绘制图表概述23914.1.2图表布局 24014.1.3图表类型 24014.1.4在哪里放置图表 243 14.1.5使用图表深化24314.1.6使用图例深化24314.2创建图表. 24414.2.1在详细资料或公式字段上绘制图表 (高级布局)244 14.2.2在汇总或小计字段上绘制图表 (分组布局) 246 14.2.3在交叉表汇总上绘制图表 (交叉表布局)247 14.2.4在 OLAP 多维数据集上绘制图表 (OLAP 布局) 248 14.3使用图表. 24914.3.1使用“图表专家”编辑图表. 24914.3.2使用“图表选项”菜单项编辑图表. 249 14.3.3使用其他菜单项编辑图表. 25014.3.4在条形图和折线图中使用缩放功能251 14.3.5自动排列图表25114.3.6设置统计图格式 25214.3.7在图表上使用延伸功能 253第 15 章地图功能15.1地图功能的概念. 25415.1.1地图功能概述25415.1.2地图布局 25415.1.3地图类型 25515.1.4地图放置在何处 25715.1.5使用地图深化25715.2创建地图. 25815.2.1基于详细资料字段制作地图(“高级”布局). 25815.2.2基于组字段制作地图(“组”布局) 260 15.2.3基于交叉表汇总制作地图(“交叉表”布局). 26115.2.4基于 OLAP 多维数据集制作地图 (OLAP 布局) 26312 CrystalReports 用户指南15.3使用地图.26415.3.1使用“地图专家”编辑地图. 264 15.3.2更改地图标题. 26415.3.3更改地图类型. 26515.3.4更改地图层 26515.3.5解决数据不匹配26615.3.6更改地理地图. 26715.3.7放大和缩小地图26715.3.8平移地图26815.3.9地图居中26815.3.10隐藏和显示“地图导航器” 268 15.3.11设置地图格式 26915.3.12对地图使用延伸功能 269 第16章 OLE16.1OLE 概述.27016.1.1OLE 术语27016.1.2OLE 对象的类型27116.1.3常规 OLE 注意事项27116.2将 OLE 对象插入报表..272 16.3OLE 对象在报表中如何表示273 16.4编辑报表中的 OLE 对象273 16.4.1现场编辑27316.4.2动态 OLE 菜单命令27316.4.3OLE 和“插入图片”命令 274 16.5处理静态 OLE 对象.27416.6处理嵌入和链接的对象.276 16.6.1嵌入对象27616.6.2链接对象277第17章交叉表对象17.1什么是交叉表对象?279目录 13 17.2交叉表示例28017.2.1订单数据的报表 - 未排序 /未分组. 280 17.2.2订单数据的报表 - 按地区分组281 17.2.3订单数据的报表 - 按产品分组281 17.2.4订单数据的报表 - 按地区和产品分组282 17.2.5交叉表对象中的订单数据. 283 17.3创建交叉表报表. 28417.4使用交叉表29017.4.1以百分比显示值 29017.4.2缩写大的汇总字段. 29117.4.3自定义行 /列标签. 291 17.4.4在交叉表中使用运行总计. 29217.4.5打印跨越多页的“交叉表”293 17.5设置交叉表格式. 29317.5.1更改交叉表单元格的宽度、高度和对齐方式 29417.5.2设置整行 /整列的背景颜色的格式294 17.5.3设置个别字段的格式294 17.5.4一次设置若干字段的格式. 295 17.5.5取消“交叉表”数据. 29517.5.6水平显示汇总字段. 296 第 18 章构建查询18.1连接到 Universe 297 18.2为查询定义数据选定区域297 18.2.1快速引用对象29818.3编辑现有查询 29918.4查看查询后面的 SQL 300 18.5查询筛选器和提示30018.5.1创建查询筛选器 30018.5.2构建提示 30118.5.3合并查询筛选器和提示 302 18.5.4创建高级查询筛选器303 18.5.5命名高级筛选器 30514 Crystal Reports 用户指南18.5.6合并高级查询筛选器. 306 18.5.7使用“和”或“或”合并查询筛选器. 30818.5.8编辑和删除查询筛选器308 18.5.9查询筛选器运算符的快速参考309 第19章创建和更新 OLAP 报表19.1用创建 OLAP 报表 Crystal Reports.31119.1.1OLAP 网格对象 31119.2创建 OLAP 报表.31219.2.1指定数据源 31219.2.2定义网格结构. 31219.2.3设置切片维度并指定网格数目314 19.2.4应用预定义样式31519.2.5插入图表31619.3更新 OLAP 报表.31619.4格式化 OLAP 网格中的数据317 19.4.1更改维度的背景颜色. 31819.4.2创建维度的别名31919.4.3格式化网格线. 31919.4.4标注维度31919.5更改 OLAP 数据的视图.320 19.6对 OLAP 网格数据进行排序和筛选321 19.6.1对 OLAP 网格中的数据进行排序 32219.6.2对 OLAP 网格中的数据进行筛选 32319.7向 OLAP 网格添加计算.324 第20章打印、导出和查看报表 20.1分发报表.32520.1.1打印报表32520.1.2传真报表32520.1.3导出报表32620.1.4使用 Web 文件夹. 334 20.1.5使用 Enterprise 文件夹 335目录 1520.2查看报表. 33720.2.1什么是报表部件?. 338 20.2.2什么是导航?33820.2.3“报表部件深化”选项341 20.2.4“其他报表对象”选项 343 20.2.5查看器中显示的超级链接. 347 20.3使用智能标记 349第 21 章报表警报21.1关于报表警报 35121.2使用报表警报 35121.2.1创建报表警报35121.2.2编辑报表警报35321.2.3删除报表警报35321.2.4查看报表警报35421.2.5在公式中引用报表警报 355 第 22 章使用公式22.1公式概述. 35622.1.1公式的典型用途 356 22.2公式组件和语法. 357 22.2.1公式组件 35722.2.2公式语法 35822.3公式中的用户函数库 359 22.4指定公式. 36022.4.1使用公式工作室361 22.4.2使用公式编辑器 362 22.5创建与修改公式. 363 22.5.1创建公式并将其插入到报表中 363 22.5.2在“公式专家”中创建公式. 364 22.5.3编辑公式 36522.5.4搜索和替换文本 366 22.5.5从联机帮助复制公式366 22.5.6将公式从一个报表复制到另一个报表 36716 Crystal Reports 用户指南22.6删除公式.36822.6.1从报表删除工作公式. 36822.6.2删除公式规范. 36822.7调试公式.36922.7.1调试求值时间错误 369 22.7.2调试教程369第23章参数字段和提示23.1参数和提示概述.37423.1.1参数字段注意事项 374 23.1.2提示考虑因素. 37523.2了解动态提示37523.3了解值列表..37823.3.1值列表类型 37823.3.2确定要使用的值列表类型 380 23.3.3值列表和提示组的对比381 23.4创建带有静态提示的参数..381 23.5创建带有动态提示的参数..384 23.6创建带级联值列表的参数..386 23.7使用值列表..38823.7.1在报表中共享公共值列表 388 23.7.2使用不同的值字段和说明字段389 23.7.3将命令对象用作值列表的数据源 390 23.7.4空值处理39023.8有关提示的昀佳做法39123.8.1不受控报表 39123.8.2受控报表39123.8.3将不受控报表转换为受控报表392 23.8.4部署带有动态提示的受控报表392 23.9删除参数字段39323.10响应参数字段提示.39423.10.1第一次预览报表. 39423.10.2刷新报表数据 394目录 1723.11高级参数功能39523.11.1创建具有多个提示值的参数. 395 23.11.2使用参数字段应用条件格式设置 396 23.11.3使用参数字段创建报表标题. 396 23.11.4指定单个值或范围值. 397 23.11.5将参数包含在公式中. 398 23.11.6使用参数字段定义排序顺序. 399 23.11.7使用编辑掩码定义输入类型和格式. 400 第 24 章子报表24.1什么是子报表?. 40124.1.1未链接的子报表与链接的子报表. 401 24.1.2子报表链接如何工作40224.1.3数据库链接与一对多情况下的子报表 403 24.2插入子报表40324.2.1预览子报表. 40424.2.2将子报表另存为主报表 405 24.2.3更新子报表. 40524.3将子报表链接到主报表内的数据406 24.3.1在不修改选定公式的情况下将子报表链接到主报表 40724.4通过使用子报表组合不相关的报表 407 24.4.1组合两个或更多不相关的报表 408 24.5对无法链接的数据使用子报表. 408 24.5.1与公式字段进行相互链接. 409 24.5.2链接没有索引的表. 40924.6创建按需要显示子报表. 410 24.6.1向按需要显示子报表中添加标题. 410 24.7在单个报表中显示相同数据的不同视图411 第 25 章了解数据库25.1数据库概述41225.1.1关系数据库基础知识41225.1.2别名. 41318 Crystal Reports 用户指南 25.1.3定位文件41425.1.4索引表. 41525.2链接表41725.2.1链接自和链接到41825.2.2链接关系41825.2.3一对多链接中的性能考虑 418 25.2.4数据文件考虑. 42125.2.5SQL 数据库考虑42225.2.6对所有报表的性能考虑42325.2.7“数据库专家”的“链接”选项卡. 425 25.2.8链接索引表 42525.2.9链接处理顺序. 42625.2.10链接选项. 42625.3使用 SQL 和 SQL 数据库..436 25.3.1什么是 SQL?. 43625.3.2SQL DBMS..439 25.3.3Crystal Reports 如何使用 SQL?. 44025.3.4SQL 语言44025.4服务器端处理44225.4.1服务器端分组如何影响 SQL 查询444 25.5映射数据库字段.44525.5.1关于映射字段对话框. 445 25.5.2重新映射进程. 44625.5.3重新映射已更改的数据库字段447 25.6已保存数据的索引..44825.6.1报表索引如何工作 44825.6.2使用“已保存数据的索引”的考虑因素 44925.6.3选择正确的字段进行索引 449 25.7Crystal Reports 中的 Unicode 支持450 25.8有关更多信息450目录 19附录 A 报表处理模型A.1 概述451A.1.1什么是“传递”?. 451A.1.2第 1 次预传递. 451A.1.3第 1 次传递 451A.1.4第 2 次预传递. 452A.1.5第 2 次传递 452A.1.6第 3 次传递 452A.1.7多次传递建立报表流程图. 453 附录 B Crystal Reports 错误消息B.1 Drive:\filename.extension454B.2 Drive:\test.rpt 454 B.3 加载数据库连接器失败. 455B.4 未能打开该连接。

Crystal Report操作说明

Crystal Report操作说明

a. Report Header:此區內容只會顯示在報表第一頁最上面,一般都設為隱藏(Hide),隱藏方式為在Report Header按下滑鼠右鍵選擇[Hide(Drill-Down OK)]Select Data Source視窗後,點選[Browse]按鈕,畫面會出現視窗,此時選擇TTX檔案點選滑鼠右鍵會出現功能表,選擇[New]欄位輸入該參數的名稱後點選[OK]按鈕,此時Field Explorer新增的參數,如下圖此時將此參數拖拉到要放置的位址,即完成此參數的新增,稍後會說明如何透過程式傳選擇要新增的欄位拖曳到Detail 欄位內,即完成報表欄位新增Group的欄位及排序方式,之後按確定,個區塊。

Group Header內可放置GroupGroup Footer內可放置Group結束時所需顯示的資料,如小計Subtotal,Grandtotal,Summary名稱後,按確定後Subtotalubtotal 自動新增到因為是作小計的功能,所以只能選擇資料型態為Number按確定後Subtotalubtotal 自動新增到主要功能為依照欄位值及Group作資料總計、判斷最大值及最小值、統計個數等,增Group名稱後,按確定後Subtotalubtotal 自動新增到的功能主要為資料分開產生但是須顯示到同一報表上或處理時所使用,操作方如欲將入現有報表,則點選[Choose a report],然後點選[Browse]立新報表,則點選[Create a subreport],然後輸入Report Name,點選,此時畫面出現[Subreport Export]視窗,如下圖[Database]欄位,選擇要加入subreport的TTX,然後按[Add]新增。

新增完後,進行下一步,如下圖選擇要在subreport顯示的欄位,按下[Add]後新增即可,完成後按[OK]crystal report ActiveX元件:點選功能表[專案]-[設定引用項目],將[Crystal Report 8。

WinForm中使用CrystalReport水晶报表——基础,分组统计,自定义数据源

WinForm中使用CrystalReport水晶报表——基础,分组统计,自定义数据源

WinForm中使⽤CrystalReport⽔晶报表——基础,分组统计,⾃定义数据源开篇本篇⽂章主要是帮助刚开始接触CrystalReport报表的新⼿提供⼀个循序渐进的教程。

该教程主要分为三个部分1)CrystalReport的基本使⽤⽅法;2)使⽤CrystalReport对数据进⾏分组求和;3)CrystalReport如何使⽤⾃定义的数据源(如内存中的DataTable表)三个⽅⾯来写。

相信看懂了这个教程之后,对于⾃⼰项⽬中的实现报表这⼀功能,应该就能轻松的应对了。

⼀ CrystalReport模板的制作及显⽰A模板的制作1、右键【项⽬属性】添加⼀个⽔晶报表(在vs中需要安装CrystalReport模块,不同vs版本下载不同的CrystalReport版本:CrystalReport下载链接:)2、添加报表的设计界⾯如下:⼀个报表包括(报表头,页眉,详细资料,报表尾,页眉)5个基本部分。

3、现在我们需要给新建的报表添加⼀个数据源,右键左边的【数据库字段】选择相应的数据源,进⾏绑定。

我这⾥选择的是sqlserver数据库。

4、输⼊数据库的登录信息,然后选择需要绑定的数据库表,除了绑定数据表之外,还可以绑定sql语句查询的结果,以及存储过程和视图,下⾯给出绑定数据库表格,和绑定sql查询。

1)绑定数据库表格2)点击连接下⾯的【添加命令】绑定sql语句。

5、绑定数据库之后在报表左侧的【字段管理器】中就会出现该表以及sql查询结果的的相应表头字段。

6、把相应的字段在报表视图中进⾏布局。

到此⽔晶报表的模板已经做好了。

注意:页眉中的userName,courseName,score是可以更改。

B模板的显⽰1、⾸先在窗体上拖⼀个CrystalReportView控件作为显⽰报表模板。

2、在form_load事件⾥⾯写如下代码:CrystalReport1 cr = new CrystalReport1();//实例化⼀个报表模板this.crystalReportViewer1.ReportSource = cr;//为报表显⽰控件设置数据源3、运⾏报表设计点丑,但是你可以根基⾃⼰的风格进⾏排版设计,如字体,⼤⼩,颜⾊等啦。

水晶报表CryStalReport简单应用精选全文

水晶报表CryStalReport简单应用精选全文

可编辑修改精选全文完整版水晶报表CryStalReport使用教程(动态数据绑定)
第一步:添加水晶报表报表
1、右击鼠标,选择水晶报表
2、选择作为空白报表
第二步:添加数据集DataSet 1、右击鼠标,选择数据集
2、单击工具箱,拖拽一个DataTable到右边
3、根据数据表设计好DataTable
第三步:设计报表
1、从工具箱拖拽一个文本对象到页眉,并输入文字
2、选择字段资源管理器,右击数据库字段,选择数据库专家
3、从我的连接中选择MYDataSet到右边的选定的表
4、从左边的数据库字段中拖拽一些需要的字段到右边详细资料
5、展开特殊字段,拖拽一个第N页共M页,到页脚
第四步:添加页面
在页面中添加一个CryStalReportViewer控件
第五步、双击页面,编写数据绑定代码
protected void Page_Load(object sender, EventArgs e)
{
BLL.QueryAllStuService Qas = new BLL.QueryAllStuService();
MyCrystalReport Mcr = new MyCrystalReport();
Mcr.SetDataSource(Qas.QueryAllStudents());
CrystalReportViewer1.ReportSource = Mcr;
}
单击F5,运行效果如下:。

CrystalReport水晶报表详细教程

CrystalReport水晶报表详细教程
23
从“生成”菜单中选择“生成解决方案” 为该项目生成一个数据集对象 注意:生成的数据集对象不包含实际的数据,只包含对数据库结构的描述
17
水晶报表应用程序示例 8-4
向该窗体添加水晶报表项。选择“Crystal Report 库”窗口中的默认项 可用于指定一个或多个字段来汇总特定组
在“标准报表专家”窗口中展开“项目数据”文件夹 展开 数据集, 并选择 DataSet 对象 选择 Book 表,单击“插入表”。在“字段”选项卡中添加所有列
11
使用水晶报表专家 4-2
选择水晶报表
12
使用水晶报表专家 4-3
扩展 OLE DB(ADO) 部分
用于 SQL Server 的 OLE DB 提供程序
13
使用水晶报表专家 4-4
可以将表的所有字段或指定字段 添加到报表中。
选择所需的表并将其插 入到报表中。
14
水晶报表应用程序示例 8-1
22
总结
水晶报表是用于创建报表的标准工具 水晶报表的优点包括: 运行时自定义 报表查看器与其他控件之间的交互 报表作为 Web 服务 开发 Windows 应用程序时,可以使用 CrystalReportViewer控件将报表绑定到 WinForms窗体上 数据集设计器用于创建只包含数据结构而不包 含实际数据的数据集对象 水晶报表中的选择公式可用于计算字段和汇总,确定如何 显示报表的输出结果
7
水晶报表的功能
运行时自定义 报表查看器与其他 控件之间的交互
水晶报表
借助交互式界面更 加容易地创建报表
报表作为Web服务
8
水晶报表查看器
拖放
9
CrystalReportViewer 的属性、方法和事件

水晶报表(使用详细过程及注意事项)

水晶报表(使用详细过程及注意事项)

JA V A水晶报表使用过程及注意事项一、第一阶段1.软件安装:Crystal Reports XI + Eclipse2.首先打开Eclipse,新建报表模板:new→other→ Crystal Reports web Project,姑且命名为Pen 注:此时可能会显示错误,不要紧,请不要理会。

3.在Java Resources:src下面的默认包中创建欲使用的JavaBean,如:Pen.java注意:一定要保存4.右键点击JavaBean下面的,选择Crystal Report→ add to a new Crystal Report,并自行创建名称注:名称的创建是有用处的,这便是生成模板的过程5.这时选择左下角的Layout,即可看见可视化编辑窗口,在右侧的Field Explorer中可选择所创建的虚拟字段(所创建的JavaBean中的属性)放入窗口中。

二、第二阶段6.打开MyEclipse,创建web project,命名为PenDemo。

7.复制Pen(Crystal Reports web Project中)项目src文件夹下的com文件夹、CRConfig.xml和log4j.properties文件到PenDemo(MyEclipse中的正常web project)中相应的目录下。

注:这时你会看见有错误,下一步解决8.复制Pen(Crystal Reports web Project中)项目WEB-INF下的全部内容到PenDemo(MyEclipse 中的正常web project)到相应的目录下。

注:请刷新PenDemo项目你会发现错误消失9.请将PenDemo(MyEclipse中的正常web project)src下面包中的生成的report模板cut至webroot 下。

10.copy资料包中的除了web-inf以外的所有文件(夹)至项目工程PenDemo相应的目录下注:刷新又出现错误了,不要紧,这是因为我们本末倒置的缘故,具体原因自己思考11.为了节省时间,我们可以copy资料包中的相关对数据操作的业务类来直接用,首先copy资料包中的DataSource.java至PenDemo项目中,存放的包及路径自己定。

水晶报表操作步骤

水晶报表操作步骤

●新建一个项目:文件>>>>新建>>>>项目>>>Windows窗体引用程序●建报表1.右键添加“新建项”,选择“Crystal报表”(后缀名为.rpt)添加报表以后,项目下的引用会出现以下关于报表本身自带的数据集:2.选择“作为空白报表”3报表的大小在Crystal Reports(R) >>> 设计>>>打印机设置>>>大小4可以用线条对象,框对象画表格,用文本对象添加显示的文本5以下这些字段都可往报表里直接拖拽也可点击右键“插入“点击“主报表预览“效果:页眉:时一张表的表头详细资料:是要显示的数据(如果要打印预览的话,可以把所有的字段都放到详细资料里) 美化表格1.按住“Ctrl”键+鼠标左键点击文本对象右键“设置多个对象的格式”文本在表格里对齐方式:选中文本对象右键“设置多个对象的格式”>>> “共用”>>> 水平对齐方式:默认,左,居中,右,两端对齐。

文本四周添加边框:选中文本对象右键“设置多个对象的格式”>>>“边框”:无,单线,双线,短划线,点线。

调整文本字体:选中文本对象右键“设置多个对象的格式”>>> “字体“:段落:选中文本对象右键“设置多个对象的格式”>>> “段落“超级链接:选中文本对象右键“设置多个对象的格式”>>> “超级链接“1.右键添加“新建项”,选择“程序集”(后缀名为.xsd)2.工具箱>>>>数据集:拖拽一个DataTable 右键添加“列”注意:表名与sql查出来的表名取名要一致。

每一列的值跟数据库里字段的类型一致(点击“每一列“属性里的DataType)报表里进行汇总只能针对数字类型加载数据集1.右键“数据库字段”>>>“数据库专家”>>>“数据集”:把需要的数据源选中后点击“”如果添加了新的字段后选中“数据库字段”右键点击“验证数据库”即可刷新新的字段。

水晶报表操作手册

水晶报表操作手册

水晶报表操作手册附件一:水晶报表的编辑1打开报表选中需要打开的报表文件,双击该文件或点击鼠标右键,从打开方式中选择crystal reports,如下图:在弹出菜单中,点击“Cancel”,不需要注册。

2编辑报表报表打开后进入以下编辑界面:2.1 绑定数据库如果报表对应的数据库不是当前系统的数据库,可以通过重新设置本地数据库方式来重新绑定数据库。

操作步骤:点击“Database”,选择“Set Location”弹出Set Location界面点击“Set Location”,选择需要绑定的打印数据库。

对于本报表的其它数据表,系统会询问是否与选中的数据表设置同一个mdb库:如果对应同一个库,请选择“是(Y)”,否则选择“否(N)”。

2.2 校验数据库打开需要校验的数据库。

系统要先确认这个校验文件没有被应用。

如果改变了绑定数据库,系统会提示要不要绑定新的数据库。

2.3 编辑2.3.1插入字段可以插入的字段包括数据库字段(Database Field)、文本字段(Text Field)、规则字段(Formula Field)和特殊字段(Special Field)。

数据库字段:数据库字段的内容对应绑定数据表的所有字段。

点击“Insert”,把选中的字段放到界面上,如果还选择其它字段,可以继续插入;如果不再插入新字段,则可以点击“Done”,将关闭本窗口。

点击“Browse Field Data”,按钮,可以查看当前字段的类型、字段长度以及该数据在库内的具体数值。

文本字段:文本字段需要输入文本内容,见下图:点击“Accept”按钮,则该文本字段将可以显示在报表编辑界面,可以通过移动鼠标使之移动到合适的位置,并可以在下面的状态条上选择适当的字体、尺寸等。

规则字段:可以按照具体的规则,创建新的字段。

在弹出的窗体上输入新建规则名称。

在Functions中选择合适的函数,在Operators中选择操作正确的操作符号,这样根据公式就创建了一个新的字段。

VB水晶报表使用方法

VB水晶报表使用方法

集成水晶报表的方法Crystal Reports是非微软的第三方工具,用于处理数据报表,帮助用户分析和解释重要信息。

使用Crystal Reports可以方便地创建你所能想象的任何报表。

Visual 中集成的Crystal Reports 9(简化版本)赋予.NET平台创建交互式的、高质量展示内容的能力,您可以在Web平台和Windows平台上呈现报表,甚至将Crystal报表作为报表Web服务在Web服务器上发布。

介绍Visual 集成Crystal Reports的资料真是少的可怜,好东东当然不敢独享,所以写下本文,水平有限,还望各位大虾指教。

说了这么多,是不是感觉到.NET的无所不能,如果你正在寻找企业报表开发的新大陆,那你可要打起精神,睁大眼睛继续读下去啦!我们用一个简单的实例来说明在Visual 中怎样玩转Crystal Reports。

(本程序代码已在Visual 简体中文版调试通过。

)实现功能:点击生成报表按钮可根据用户输入的客户ID号生成相应报表(输入0显示所有订单记录),并在CrystalReportViewer控件中预览。

须注意的重点:1、怎样在运行时将Crystal报表与后台数据源连接,即安全数据连接。

(运行时动态连接数据库可灵活的设置数据环境及避免Crystl Reports弹出数据库登陆对话框。

)2、怎样让Crystal报表与界面控件交互首先在MS-SQL Server 2000中建立一名为"MRP"的实例数据库,其中有"客户"和"订单"两张表。

订单表的结构:客户表与订单表可通过ID字段建立一对多关系。

(建库细节请参阅有关书籍)然后,我们就可以在Crystal Report Designer中设计和修改报表(Crystal Report Designer已集成在Visual Studio .NET开发环境内),启动方法如下:1、在Visual 解决方案资源管理器中,右击您的项目以显示快捷菜单。

CRYSTAL REPORTS(水晶报表) JDBC连接MYSQL数据库

CRYSTAL REPORTS(水晶报表) JDBC连接MYSQL数据库

Crystal Reports2008(水晶报表)JDBC连接mysql数据库在本文中,主要介绍的是Crystal Reports2008使用JDBC连接mysql数据库。

在连接之间,首先要确认你电脑上面都安装了mysql数据库。

其次,就是jdbc连接数据时候所使用的相关jar包。

接下来,就可以进行数据库的一些连接操作了。

对JDBC不是很了解的,可以到完整java开发中JDBC连接数据库代码和步骤了解相关的操作1.打开Crystal Reports的数据专家2.点击JDBC(JNDI)出现:3.输入url和数据库类名,点击下一步:4.输入password和user id点击完成即可。

5.不过,在这操作之前,你需要做的是以下步骤:在你安装的Crystal Reports目录:我安装的目录是:D:\crystal reports2008\Common\4.0\java 在此目录下面,有一个文件:CRConfig.xml配置文件D:\crystal reports2008\Common\4.0\java\CRConfig.xml1<?xml version="1.0"encoding="utf-8"?><CrystalReportEngine-configuration>2<reportlocation>../..</reportlocation>3<timeout>10</timeout>45<ExternalFunctionLibraryClassNames>6<classname></classname>7<classname></classname>8</ExternalFunctionLibraryClassNames>910<keycode>CFKOA-YOTTM2M-OOUFAFF-N43M</keycode>11<Javaserver-configuration>12<DataDriverCommon>13<JavaDir>D:\crystal reports2008\javasdk\bin</JavaDir>14<Classpath>D:\crystal reports2008\Common\4.0\java/lib/mysql-connector-java-5.1.10-bin.jar; D:\crystal reports2008\Common\4.0\java/lib/crlovmanifest.jar;D:\crystal reports2008\Common\4.0\java/li b/CRLOVExternal.jar;D:\crystal reports2008\Common\4.0\java/lib/CRDBJDBCServer.jar;D:\crystal reports2008\Common\4.0\java/lib/CRDBXMLServer.jar;D:\crystal reports2008\Common\4.0\java/lib/CRDBJa vaBeansServer.jar;D:\crystal reports2008\Common\4.0\java/lib/external/CRDBXMLExternal.jar;D:\crysta l reports2008\Common\4.0\java/lib/external/log4j.jar;D:\crystal reports2008\Common\4.0\java/lib/CRDB SForceServer.jar;D:\crystal reports2008\Common\4.0\java/lib/external/CRDBSForceExternal.jar;${CLAS SPATH}</Classpath>15<IORFileLocation>${TEMP}</IORFileLocation>16<JavaServerTimeout>1800</JavaServerTimeout>17<JavaServerStartupTimeout>30</JavaServerStartupTimeout>18<JVMMaxHeap>64000000</JVMMaxHeap>19<JVMMinHeap>32000000</JVMMinHeap>20<NumberOfThreads>100</NumberOfThreads>21</DataDriverCommon>22<JDBC>23<CacheRowSetSize>100</CacheRowSetSize>24<JDBCURL></JDBCURL>25<JDBCClassName></JDBCClassName>26<JDBCUserName></JDBCUserName>27<JNDIURL></JNDIURL>28<JNDIConnectionFactory></JNDIConnectionFactory>29<JNDIInitContext>/</JNDIInitContext>30<JNDIUserName>weblogic</JNDIUserName>31<GenericJDBCDriver>32<Default>33<ServerType>UNKNOWN</ServerType>34<QuoteIdentifierOnOff>ON</QuoteIdentifierOnOff>35<StoredProcType>Standard</StoredProcType>36<LogonStyle>Standard</LogonStyle>37</Default>38<Sybase>39<ServerType>SYBASE</ServerType>40<QuoteIdentifierOnOff>OFF</QuoteIdentifierOnOff>41<DriverClassName>com.sybase.jdbc2.jdbc.SybDriver</DriverClassName>42<StoredProcType>Standard</StoredProcType>43<LogonStyle>MySQL</LogonStyle>44</Sybase>45</GenericJDBCDriver>46</JDBC>47<XML>48<CacheRowSetSize>100</CacheRowSetSize>49<PreReadNBytes>4096</PreReadNBytes>50<MaxCacheXMLSize>153600</MaxCacheXMLSize>51<XMLLocalURL></XMLLocalURL>52<SchemaLocalURL></SchemaLocalURL>53<XMLHttpURL></XMLHttpURL>54<SchemaHttpURL></SchemaHttpURL>55<RepositoryPath>D:\crystal reports2008\Common\4.0\java/lib/external</RepositoryPath>56<ExternalNamespace>D:\crystal reports2008\Common\4.0\java/xsd/wsdl.xsd;D:\crystal reports2008 \Common\4.0\java/xsd/wsdl_encoding.xsd</ExternalNamespace>57<SocketTimeout>60000</SocketTimeout>58</XML>59<JavaBeans>60<CacheRowSetSize>100</CacheRowSetSize>61<JavaBeansClassPath></JavaBeansClassPath>62</JavaBeans>63<SForce>64<CacheRowSetSize>100</CacheRowSetSize>65<QueryBatchSize>2000</QueryBatchSize>66<SocketTimeout>600000</SocketTimeout>67<UseProxy>FALSE</UseProxy>68<ProxyAddress>69</ProxyAddress>70<ProxyPort>71</ProxyPort>72<BatchLookupCacheJoinSize>200</BatchLookupCacheJoinSize>73</SForce>74</Javaserver-configuration>75</CrystalReportEngine-configuration>在xml文件中,红色部分,即是我们添加的内容,即把jar包的路径添加到<Classpath>里面去。

水晶报表如何传递数据查询参数[2页]

水晶报表如何传递数据查询参数[2页]

水晶报表如何传递数据查询参数第一次用VS2005里面的水晶报表,原因是有个页面需要打印和导出,觉得还不错,但碰到个问题挺棘手,报表的数据能不能动态改变?查了一些资料,知道可行,然后摸索出了这么个方法,跟大家分享下,很简单的:此例中我是通过一个下拉列表框来改变查询语句的值,下拉列表中选项为“产品分类”,选择不同的分类,就将此类所有产品显示出来。

1、新建一个Web项目,随便命名就行,从工具栏中拖一个DropDownList控件到窗体中,并绑定数据源,其中显示字段为产品分类名,字段值为产品分类ID号,完了启用AutoPostBack属性。

2、从工具栏中拖一个CrystalReportViewer控制至窗体中(VS中应该有吧),在选择报表源中新建报表源,指定控件名称,在指定报表选项中选择新建报表,然后指定个报表名,在此利用报表向导新建报表。

3、选择报表源(CrystalReportSource1),选择属性/Report/Parameters为控件添加参数,在弹出对话框中点击添加,指定个参数名称,这里是ProducsClass,选择指定控件ID选项,在列表中选择DropDownList1控件,确定。

4、这几步很关键,先打开报表文件CrystalReport1.rpt ,打开字段资源管理器(一般在工具栏下面),选择参数字段/右键/新建,在弹出框中名称栏填入ProducsClass ,确定。

5、将上一步新建的参数字段ProductClass拖到报表页面中任意位置,在页面空白处右键/报表/选择专家,在弹出对话框中,选择产品列表中的产品分类ID字段,确定。

在弹出对话框下拉列表中选择条件,这里是等于,在取值下拉列表中选择{?ProductClass} ,确定。

6、好了,接着浏览此文件,OK收工如有朋友正遇到这方面的麻烦可跟我留言,本人尽力帮忙解决.急求水晶报表中如何使用存储过程?在线等我现在想用存储过程生成的结果来生成报表,用两种方法,不过好像都不怎么好用,具体问题如下1,如果使用公式字段来动态连接的话,我取得是存储过程中的临时表,这样运行时老是提示字段没有之类的错误,难道只能用数据库中存在的表吗?我临时表的话该怎么写成{Employees.EmployeeID}的样式呢?2,如果使用一开始生成模板时就加入报表,我的方法是选择其中的OLE DB连接后,在Command里输入“Execute 存储过程名存储过程参数”来生成的,但是这样的话后面程序中参数肯定是不同的,我如何做更改呢?或者说我一开始连接方法就不对?最近问了很多水晶报表的问题,好心人都来帮我解决了,这次再急求解答,谢谢啊做报表要的只是一个结构.你可以用DATASET文件结构来做报表,然后再运行storeprocedure去FILL一个DATASET结构的实例,再rpt.setDataSource(DataSet),就行了..至于你在storeprocedure里做什么,根本跟报表没啥关系.只要输出一个结构相同的表就行了.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Crystal Report(RDC8)水晶报表在VC6环境中的调用方法(转)
.NET/vcrdc8/vcrdc8.htm">/vcrdc8/vcrdc8.htm//源文出处
Crystal Report(RDC8)水晶报表在VC6环境中的调用方法
作者:jaesy. E Mail:jaesyinfo@
Seagate Crystal Repo rt(水晶报表)一直是报表工具中佼佼者,其功能强大,设计灵活。

在Cry stal Report 的8.0版本中,较多地融入COM思想,更加强调了RDC的概念。

RDC为Repo rt Designer Component的缩写。

本文主要说明如何是VC6环境中使用RDC8,关于报表模板文件*.rpt设计及运行时属性的控制请参阅的其它介绍。

在Crystal Report以前的版本,主要采用CRPE api的方法,有兴趣的朋友可以参阅联机帮助。

本文主要采用RDC的方法,也是现在推荐的方法。

以下以建立一个基于对话框的VC工程为例,说明实现方法,希望对大家有所帮助。

下载示例工程文件demoRDC.zip,46K(win2000 vc6)
第一步:
建立一个Crystal repo rt模板文件DemoRDC.rpt
本例为了简单起见,此报表没有关联任何数据库。

第二步:
建立一个基于对话框的VC工程,接受缺省选择,工程名DemoRDC。

第三步:
在工程中增加ActiveX Control :Crystal Repo rt Viewer Co ntrol.(如图1)
此时VC为工程增加了两个类,
CCRVTrackCurso rInfo
CCrystalReportViewer3
(图1)
根据需要设计程序主对话框的大小,并增加Crystal Report Viewer Control控件。

ID为IDC_CRVIEWER1 并根据要求设置其属性。

然后用class wizard , 对其关联一个变量m_crv1。

第四步:
增加关于Crystal Report的COM接口对象,有两种方法,第一种方法,通过#import导入,稍微复杂。

采用第二种方法,通过类型库导入。

具体方法如下:
在class wizard中增加类/从类型库(Add Class/Fro m a type library)(图2)
(图2)
选择文件craxdrt.tlb。

一般在C:Program FilesSeagate SoftwareCrystal Repo rtsDeveloper Filesinclude 目录下。

然后选择我们需要的类,因为范例只需要IReport,IApplication。

按Ctrl多选此两项即可。

第五步:
在demoRDCdlg.h文件中增加头文件:
#include "craxdrt.h"
#include "co mdef.h"
以及guid声明:
//the guid for crystal report
const CLSID CLSID_Application =
{0xb4741fd0,0x45a6,0x11d1,{0xab,0xec,0x00,0xa0,0xc9,0x27,0x4b,0x91}};
const IID IID_IApplication =
{0x0bac5cf2,0x44c9,0x11d1,{0xab,0xec,0x00,0xa0,0xc9,0x27,0x4b,0x91}};
const CLSID CLSID_Report object s =
{0xb4741e60,0x45a6,0x11d1,{0xab,0xec,0x00,0xa0,0xc9,0x27,0x4b,0x91}};
const IID IID_IReportObjects =
{0x0bac59b2,0x44c9,0x11d1,{0xab,0xec,0x00,0xa0,0xc9,0x27,0x4b,0x91}}; 第六步:
主要的代码部分:
为CDemoRDCDlg增加两个protected类型成员变量
IApplicatio n m_Application ;
IReport m_Report ;
在BOOL CDemoRDCDlg::OnI nitDialog()加入我们的主要语句
CString strTemplatePath;
strTemplatePath=AppPath()+"demoRDC.rpt";
VARIANT dummy;
VariantInit (&dummy);
dummy.vt = VT_EMPTY;
// Specify the path to the repo rt y o u want to print
_bstr_t ReportPath(strTemplatePath);
m_Application.CreateDispatch(CLSID_Application);
m_Report = m_Applicatio n.OpenReport(ReportPath, dummy);
m_crv1.SetRepo rt source(m_Repo rt);
m_crv1.ViewReport();
第七步:
增加虚函数PostNcDestro y
在其中realse m_Application 及m_Report ;
编译运行OK。

下载示例工程文件demoRDC.zip,46K(win2000 vc6)
以上,只是说明了Cry stal Report(RDC8)在VC6环境中的调用方法。

如果要做出较完美的报表还要各个方面的努力。

希望对VC的开发者有所帮助。

相关文档
最新文档