Download - Crystal Reports

Transcript
Page 1: Crystal Reports

Crystal ReportsCrystal Reports

第九章

Page 2: Crystal Reports

22

回顾回顾• 理解接口的概念• 学习如何实现和声明接口• 实现 IComparable接口• 使用 IComparable接口排序列表• 实现 IComparer接口• 通过实现 IEnumerator接口和 IEnumerable接口对列表添加 For Each支持

• 创建继承自 ICollection接口的自定义接口• 理解克隆以及如何实现 ICloneable接口

Page 3: Crystal Reports

33

目标目标• 创建一个空白的 Crystal Reports• 使用 CrystalReportViewer控件预览报表• 在 Crystal Reports上创建域• 基于多个数据库表创建报表• 使用控制中断创建表格式报表• 导出报表• 配置报表以便动态显示信息

Page 4: Crystal Reports

44

Crystal ReportsCrystal Reports 概述概述基本知识:

• Crystal Reports是一种报表制作工具,允许开发者使用可视化设计器设计并实现报表;• 使用 Crystal Reports Designer设计报表的方法与设计窗体的方法相同。可以在报表上创建控件实例,然后设置控件实例的属性;• 可以用 Crystal Reports创建用于桌面或Web的报表;• Crystal Reports为开发者隐藏了大量的编程逻辑,开发者只需在报表中创建域来定义报表题头、页题头、页注脚、明细行、合计、小计等;

Page 5: Crystal Reports

55

创建报表创建报表报表创建方式:

• 使用 Report Expert创建报表;• 创建一个空白报表;• 从已有报表创建新报表;

Page 6: Crystal Reports

66

创建报表创建报表报表的五个部分:

Page 7: Crystal Reports

77

创建报表创建报表命名空间:

• CrystalDecisions.CrystalReports.Engine;• CrystalDecisions.ReportSource;• CrystalDecisions.Shared;

Page 8: Crystal Reports

88

创建报表创建报表报表文件:

• 创建空白报表时会生成两个文件:一个是后缀为 .rpt的文件,包含报表定义,是二进制文件,还有一个 .vb文件,包含 VB代码;

Page 9: Crystal Reports

99

通用报表元素通用报表元素两种主要元素:

• 报表控件——包含常量信息,如标题或栏头;• 域——包含动态数据和计算数据

Page 10: Crystal Reports

1010

通用报表元素通用报表元素报表控件:

• Text Object;• Line Object;• Box Object;

演示创建步聚

Page 11: Crystal Reports

1111

通用报表元素通用报表元素数据格式化:

• 一般内容;• 格式化货币;• 格式化日期;

演示

Page 12: Crystal Reports

1212

预览报表预览报表

• 使用 CrystalReportViewer控件预览Crystal Report;

演示

Page 13: Crystal Reports

1313

域域

• 使用 Field Explorer创建域;

Page 14: Crystal Reports

1414

域域域分为 7 类:

• 数据库域;• 公式域;• 参数域;• 组名域;• 运行总和域;• 特殊域;• 非绑定域;

Page 15: Crystal Reports

1515

域域数据库域:

• 创建数据库域之前必须先连接报表和数据库;• 首先创建强类型的数据集;• 右击数据库域选择添加 / 删除数据库功能,将报表和数据库关联起来;• 打开数据库表将字段拖到报表中生成数据库域;• 要使报表能显示数据库中的数据,还必须编写填充数据集的程序;

SqlDataAdapter1.Fill(DataSet11)Dim r As New EmployeeReportr.SetDataSource(DataSet11)CrystalReportViewer1.ReportSource = r

Page 16: Crystal Reports

1616

域域公式域:

• 计算公式的值;• 采用公式编辑器编制;

Page 17: Crystal Reports

1717

域域特殊域:

• 完成一些特殊任务的域:如显示页码、当前日期、记录号或者标题等;• 有 Print Date、 Print Time、 Record Number、 Page Number、 Page N of M 、 Total Page Count等域;

Page 18: Crystal Reports

1818

域域控制中断报表 (Control Break Report) :

• 当特定域的值改变时执行特殊处理的报表;• 如处理小计;

使用组名域创建控制中断;

Page 19: Crystal Reports

1919

域域运行总和域:

• 累计域在特定控制中断中的小计或创建总计;• 有多种聚集函数用来进行计算,如平均值、最大值、最小值、合计等

Page 20: Crystal Reports

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)

Page 21: Crystal Reports

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()


Top Related