ActiveReports 提供了多种设计报表的方法。您可以基于您的布局需求选择相应的报表类型。根据您选择的报表类型,您还可以创建不同文件格式的报表。
本章主要内容
页面报表
Rdl报表
基于代码的区域报表
基于 XML 的区域报表
报表布局类型
您可以根据不同需求使用相应的布局来设计报表。本章节主要介绍报表的布局类型,并阐述他们之间的差异。
页面布局
您将在页面级别来设计您的报表,您可以在报表的任意位置放置报表控件。
此布局又包括两种细的分类,Rdl报表布局和页面布局。这两种类型之间的差异在于他们处理数据的方式。Rdl报表布局报表中,控件会根据自身的数据沿着垂直方向自动调整其大小;在页面布局报表中,控件不会根据自身的数据来调整其大小,在这种布局中可以使用OverflowPlaceHolder来处理没有显示完的数据。
区域布局
区域布局中报表被分为不同的区域。默认情况下,区域布局报表包含页眉,明细和页脚区域。在报表上单击右键并选择插入,可以插入报表头/报表尾和分组头/分组尾。
一个报表区域包括一组控件,这些控件将被作为一个统一的整体在同一时间被处理和打印。除明细区域外,其他区域都由一对头部和尾部区域组成,并分别显示在明细区域的上方和下方。当报表中有分组时,明细区域为每个分组进行处理,然后是下个分组的分组头,相关的明细,和分组尾。详细信息,请参阅数据分组。
您可以将不需要显示区域的Visible属性设置为False来隐藏该区域。
报表文件格式类型
您可以根据实际需求选择不同的报表文件格式,以下内容描述了这些文件格式的作用。
报表模板格式
用户创建报表时可以选择以下类型的报表模板格式,有关如何访问报表模板的详细信息,请参阅添ActiveReports项目。
•RDLX:是一种基于 XML 的专有文件格式,是对报表定义语言 (RDL) 文件扩展之后的一种文件格式。RDLX是独立的文件,无需编译就可以在您的应用程序中使用。您可以在脚本选项卡中添加脚本来自定义报表行为。
•VB.NET或C#: 是基于代码的报表格式,最终将C# 或 Visual Basic .NET代码编译到您的应用程序中。该格式的模板有类似于 Windows 窗体的代码视图,并提供了与 Visual Studio 一致的设计和编码体验,是熟悉 .NET 编程语言开发人员的理想选择,可在后台代码中使用ActiveReports提供的API实现相应的需求。此外,您还可以在脚本选项卡中编写和使用脚本。
•RPX: 是基于 XML 的专有文件格式,ActiveReports 引擎可以直接使用这种格式,而无需就可以在您的应用程序中使用。这个格式的报表可以在脚本选项卡中通过编写脚本实现对报表的自定义操作。此外,带有脚本的RPX文件同样可以在Web项目中使用。
其它文件格式
ActiveReports 还为报表提供了其他类型的文件格式。如下所述,这些格式的文件都有他的独特用途。
•RDLX-master:这是一个基准报表文件,您可以从其他 RDLX 报表中引用该类型的文件,以实现统一风格的报表布局,例如,您可以在RDLX-master中添加公司徽标与地址。报表每次运行都会加载该文件,所以,您只需修改基准报表中的公司徽标和地址,就可以更改所有报表中的公司徽标和地址信息。详细信息,请参阅基准报表。
•RDLX-theme:这是一个主题文件,包含了您可以将应用到报表的样式集合。详细信息,请参阅主题。
•RDSX:这是一种创建共享数据源的专有格式。
•RDF:这是一种报表文档格式,其显示数据是静态的。可在报表查看器中加载 RDF 文件。详细信息,请参阅保存和加载 RDF 报表文件。
下表列出了不同布局中可用的文件格式
格式 |
页面布局 |
区域布局 |
RDLX |
✓ |
✘ |
VB 或 CS |
✘ |
✓ |
RPX |
✘ |
✓ |
RDLX-Master |
✓ |
✘ |
RDLX-Theme |
✓ |
✘ |
RDSX |
✓ |
✘ |
RDF |
✘ |
✓ |
报告类型功能比较
在 ActiveReports 中可以使用的功能依赖于您使用的报表类型,请参阅以下功能对比列表:
功能 |
区域报表 |
页面报表 |
Rdl报表 |
查看器和编辑器 |
|||
Visual Studio 集成设计器 |
✓ |
✓ |
✓ |
表达式编辑器 |
✘ |
✓ |
✓ |
设计器脚本编辑器 |
✓ |
✓ |
✓ |
Windows 窗体查看器 |
✓ |
✓ |
✓ |
WebViewer (专业版)。包括 HTML,RawHTML、PDF 和 Flash查看器类型。 |
✓ |
✓ |
✓ |
HTTP 处理程序 (专业版) |
✓ |
✓ |
✓ |
Silverlight 查看器 (专业版) |
✓ |
✓ |
✓ |
报表控件 |
|||
BandedList |
✘ |
✓ |
✓ |
List |
✘ |
✓ |
✓ |
Matrix |
✘ |
✓ |
✓ |
Table |
✘ |
✓ |
✓ |
OverflowPlaceHolder |
✘ |
✓ |
✘ |
Chart |
✓ |
✓ |
✓ |
Barcode |
✓ |
✓ |
✓ |
Bullet |
✘ |
✓ |
✓ |
Calendar |
✘ |
✓ |
✓ |
CheckBox |
✓ |
✓ |
✓ |
Container |
✘ |
✓ |
✓ |
CrossSectionLine |
✓ |
✘ |
✘ |
CrossSectionBox |
✓ |
✘ |
✘ |
FormattedText |
✘ |
✓ |
✓ |
Image |
✘ |
✓ |
✓ |
Label |
✓ |
✘ |
✘ |
Line |
✓ |
✓ |
✓ |
OleObject |
✓ |
✘ |
✘ |
Pagebreak |
✓ |
✘ |
✘ |
Picture |
✓ |
✘ |
✘ |
ReportInfo |
✓ |
✘ |
✘ |
RichTextBox |
✓ |
✘ |
✘ |
Shape |
✓ |
✓ |
✓ |
Sparkline |
✘ |
✓ |
✓ |
Subreport |
✓ |
✘ |
✓ |
TextBox |
✓ |
✓ |
✓ |
交互性 |
|||
超链接 |
✓ |
✓ |
✓ |
参数 |
✓ |
✓ |
✓ |
钻取 |
✘ |
✓ |
✓ |
向下钻取 |
✓ |
✘ |
✓ |
过滤 |
✘ |
✓ |
✓ |
分组 |
✓ |
✓ |
✓ |
排序 |
✘ |
✓ |
✓ |
数据连接 |
|||
支持标准数据源 (如 SQL、OleDB,XML) |
✓ |
✓ |
✓ |
未绑定数据源 |
✓ |
✓ |
✓ |
共享数据源 |
✘ |
✓ |
✓ |
导出 |
|||
导出过滤器 |
✓ |
✓ |
✓ |
渲染扩展插件 |
✘ |
✓ |
✓ |
高级 PDF 导出功能: 数字签名、时间戳、模拟加粗字体(专业版) |
✓ |
✓ |
✓ |
其他 |
|||
基准报表 |
✓ |
✘ |
✓ |
主题 |
✘ |
✓ |
✓ |
打印排序规则 |
✘ |
✓ |
✓ |
样式 (通过报告设置对话框) |
✓ |
✘ |
✘ |
打印 |
✓ |
✓ |
✓ |
独立应用程序 |
|||
ActiveReports Developer 查看器 |
✓ |
✓ |
✓ |
ActiveReports Developer 主题编辑器 |
✘ |
✓ |
✓ |
ActiveReports Developer 设计器(独立的应用程序) |
✓ |
✓ |
✓ |