crystal reports

21
Crystal Reports Crystal Reports 第第第

Upload: lenora

Post on 12-Jan-2016

81 views

Category:

Documents


9 download

DESCRIPTION

第九章. Crystal Reports. 回顾. 理解接口的概念 学习如何实现和声明接口 实现 IComparable 接口 使用 IComparable 接口排序列表 实现 IComparer 接口 通过实现 IEnumerator 接口和 IEnumerable 接口对列表添加 For Each 支持 创建继承自 ICollection 接口的自定义接口 理解克隆以及如何实现 ICloneable 接口. 目标. 创建一个空白的 Crystal Reports 使用 CrystalReportViewer 控件预览报表 - PowerPoint PPT Presentation

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