Crystal Reports
description
Transcript of Crystal Reports
Crystal ReportsCrystal Reports
第九章
22
回顾回顾• 理解接口的概念• 学习如何实现和声明接口• 实现 IComparable接口• 使用 IComparable接口排序列表• 实现 IComparer接口• 通过实现 IEnumerator接口和 IEnumerable接口对列表添加 For Each支持
• 创建继承自 ICollection接口的自定义接口• 理解克隆以及如何实现 ICloneable接口
33
目标目标• 创建一个空白的 Crystal Reports• 使用 CrystalReportViewer控件预览报表• 在 Crystal Reports上创建域• 基于多个数据库表创建报表• 使用控制中断创建表格式报表• 导出报表• 配置报表以便动态显示信息
44
Crystal ReportsCrystal Reports 概述概述基本知识:
• Crystal Reports是一种报表制作工具,允许开发者使用可视化设计器设计并实现报表;• 使用 Crystal Reports Designer设计报表的方法与设计窗体的方法相同。可以在报表上创建控件实例,然后设置控件实例的属性;• 可以用 Crystal Reports创建用于桌面或Web的报表;• Crystal Reports为开发者隐藏了大量的编程逻辑,开发者只需在报表中创建域来定义报表题头、页题头、页注脚、明细行、合计、小计等;
55
创建报表创建报表报表创建方式:
• 使用 Report Expert创建报表;• 创建一个空白报表;• 从已有报表创建新报表;
66
创建报表创建报表报表的五个部分:
77
创建报表创建报表命名空间:
• CrystalDecisions.CrystalReports.Engine;• CrystalDecisions.ReportSource;• CrystalDecisions.Shared;
88
创建报表创建报表报表文件:
• 创建空白报表时会生成两个文件:一个是后缀为 .rpt的文件,包含报表定义,是二进制文件,还有一个 .vb文件,包含 VB代码;
99
通用报表元素通用报表元素两种主要元素:
• 报表控件——包含常量信息,如标题或栏头;• 域——包含动态数据和计算数据
1010
通用报表元素通用报表元素报表控件:
• Text Object;• Line Object;• Box Object;
演示创建步聚
1111
通用报表元素通用报表元素数据格式化:
• 一般内容;• 格式化货币;• 格式化日期;
演示
1212
预览报表预览报表
• 使用 CrystalReportViewer控件预览Crystal Report;
演示
1313
域域
• 使用 Field Explorer创建域;
1414
域域域分为 7 类:
• 数据库域;• 公式域;• 参数域;• 组名域;• 运行总和域;• 特殊域;• 非绑定域;
1515
域域数据库域:
• 创建数据库域之前必须先连接报表和数据库;• 首先创建强类型的数据集;• 右击数据库域选择添加 / 删除数据库功能,将报表和数据库关联起来;• 打开数据库表将字段拖到报表中生成数据库域;• 要使报表能显示数据库中的数据,还必须编写填充数据集的程序;
SqlDataAdapter1.Fill(DataSet11)Dim r As New EmployeeReportr.SetDataSource(DataSet11)CrystalReportViewer1.ReportSource = r
1616
域域公式域:
• 计算公式的值;• 采用公式编辑器编制;
1717
域域特殊域:
• 完成一些特殊任务的域:如显示页码、当前日期、记录号或者标题等;• 有 Print Date、 Print Time、 Record Number、 Page Number、 Page N of M 、 Total Page Count等域;
1818
域域控制中断报表 (Control Break Report) :
• 当特定域的值改变时执行特殊处理的报表;• 如处理小计;
使用组名域创建控制中断;
1919
域域运行总和域:
• 累计域在特定控制中断中的小计或创建总计;• 有多种聚集函数用来进行计算,如平均值、最大值、最小值、合计等
2020
域域参数域:
• 允许定义参数来动态地限制报表中显示的行;• 定义和使用参数域包括两步:首先在报表中定义参数域,其次编写代码在运行时填写参数。
Dim pfds As ParameterFieldDefinitions Dim pfd As ParameterFieldDefinition Dim pfdv As ParameterValues Dim pfdvd As ParameterDiscreteValue pfds = r.DataDefinition.ParameterFields pfd = pfds.Item("test") pfdv = pfd.CurrentValues pfdvd = New ParameterDiscreteValue pfdvd.Value = 2 pfdv.Add(pfdvd) pfd.ApplyCurrentValues(pfdv)
2121
导出报表导出报表
• 报表对象的 ExportOptions属性允许用户将报表导出到 Word文档、 Excel工作簿、 Html文档。
Dim FileName As String = "C:\WDemo.doc" Dim diskOpts As New DiskFileDestinationOptions diskOpts.DiskFileName = FileName Dim r As EmployeeReport = CrystalReportViewer1.ReportSource r.ExportOptions.DestinationOptions = diskOpts r.ExportOptions.ExportFormatType = ExportFormatType.WordForWindows r.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile r.Export()