报表概述 (Visual Studio)

本主题简要概述了可以创建的报表种类、报表的构成、报表功能并说明了报表定义。

报表种类

使用报表模板和与客户端报表定义 (.rdlc) 文件一起提供的设计支持,可以通过 ReportViewer 控件生成以下种类的报表:

  • “自由格式”报表由文本框、数据区域、图像和其他报表项构成。当生成自由格式的报表时,应使用列表和矩形将各项保持在一起。可以使用嵌套数据区域和嵌入子报表来封装报表中的数据。

  • “多列”报表以多个连续的列显示数据,其中数据一列接着一列地排列,类似于报纸格式。有关更多信息,请参见“报表属性”-“布局”选项卡(Visual Studio 报表设计器)

  • “钻取”报表通过指向支持信息的链接可以使您进一步浏览数据。添加到报表的钻取操作提供了指向相关报表的导航路径。

  • ****“交互式”报表包含链接、书签、文档结构图以及允许创建切换项以显示或隐藏报表部分的显示/隐藏功能。您可以使用可见性和切换属性创建明细报表。明细报表包含汇总数据,用户可以将其展开,从而在主报表内查看支持详细信息。

  • “简单”报表可能包含单个表或图表。您可以创建多个简单报表,然后将它们组合到单个表单或网页,以获得面板效果。

仅提供一个模板。但是,可以从此基础模板中创建希望生成并使用的大部分报表。

报表组成部分

报表“工具箱”提供了用于在可视化环境中设计客户端报表定义 (.rdlc) 文件的各种生成块。可以在报表中使用以下项。

  • “文本框”用于显示单个实例数据。文本框可以放在报表上的任何位置,可以包含标签、字段或计算数据。您可以使用表达式来定义文本框中的数据。有关使用报表设计器向报表添加文本框的信息,请参见添加文本框

  • “表”是用于创建表格格式报表或向报表添加表结构的数据区域。有关更多信息,请参见添加表

  • ****“矩阵”是将数据排列成在特定数据点相交的列和行的数据区域。矩阵提供的功能与交叉表和透视表类似。与包括一组静态列的表不同的是,矩阵的列可以是动态的。您可以定义包含静态和动态的行和列的矩阵。有关更多信息,请参见添加矩阵

  • “图表”是用于创建可视化数据的数据区域。可以创建各种类型的图表。有关更多信息,请参见添加图表

  • “图像”用于在报表中显示二进制图像数据。可以使用 .bmp、.jpeg、.gif 和 .png 格式的外部图像、嵌入图像或数据库图像。有关信息,请参见添加图像

  • “子报表”用于将一个报表嵌入到另一个报表。子报表可以是独立运行的完整报表,也可以是嵌入到主报表中才表现最佳的报表。定义子报表时,还可以定义用于筛选子报表数据的参数。有关更多信息,请参见添加子报表

  • ****“列表”是用于显示单个字段的重复行数据或包含其他报表项的数据区域。有关更多信息,请参见添加列表

  • “矩形”用作图形元素或作为其他报表项的容器。如果在矩形内放入报表项,则可以随矩形一起移动这些报表项。有关更多信息,请参见向报表中添加矩形、线条和边框

  • “线条”是可放在页面上任何位置的图形元素。线条没有与其关联的数据。有关更多信息,请参见向报表中添加矩形、线条和边框

报表中的所有项(包括数据组、表、矩阵列和矩阵行)以及报表本身都有关联的属性。这些属性控制着报表项的外观和行为。

报表功能

与 ReportViewer 控件一起使用的报表支持以下功能:

  • 计算和聚合数据的表达式和/或支持条件格式。

  • 在 HTML 报表中支持链接、书签和文档结构图的操作。

  • 参数、筛选器、排序和分组功能,使您可以精确地检索和组织数据。

  • 支持添加自定义代码程序集,使您可以在报表中提供动态功能或特殊功能。

  • 运行时功能,使用户可以浏览大型报表、搜索特定数据、将报表导出到文件、打印报表等。

报表来源

运行时,ReportViewer 控件可以与来自以下来源的报表一起使用:

  • 从文件系统打开并在本地处理的客户端报表定义 (.rdlc) 文件。这些报表始终使用 Visual Studio 数据源。

  • 在 SQL Server Reporting Services 报表服务器上发布的服务器报表。服务器报表可以按需运行、作为报表快照运行或从缓存中运行。

单个应用程序可以包含用于网页和 Microsoft Windows 窗体的本地处理报表和远程处理报表。报表的输出与控件类型一致(HTML 对应 Web 服务器控件;GDI 对应 Windows 窗体控件)。

有关客户端报表和服务器报表的更多信息,请参见将 ReportViewer 配置为进行远程处理配置并使用 ReportViewer 工具栏

关于报表定义文件

报表基于报表定义,它是一个说明数据和布局的 XML 文件。当您将报表项添加到项目并定义报表布局时,Visual Studio 将为您创建报表定义。在本地处理的报表定义的文件扩展名为 .rdlc。发布到报表服务器的报表定义的文件扩展名为 .rdl。这两种类型的报表定义文件都使用报表定义语言 (RDL)(SQL Server 2005 联机丛书中介绍的一种 XML 语言)编写。

当触发报表执行时(例如,提供了用户单击就可以查看报表的按钮),ReportViewer 控件将使用定义的数据绑定检索数据,并将结果集合并到报表布局。报表将以正在使用的控件的本机输出格式显示。对于 Web 服务器控件,输出格式为 HTML。对于 Windows 窗体控件,输出格式为图形设备界面 (GDI) 格式。

基于 .rdlc 文件的报表与为 SQL Server 2005 Reporting Services 创建的报表定义 (.rdl) 文件十分相似。尽管这两种报表定义的 XML 架构相同,但是每个文件类型具有不同的验证规则。.rdl 必须包含一个查询,才被视为有效。而 .rdlc 即便缺少查询信息,仍然有效。如果 .rdlc 包含查询,该查询将被忽略。如果 .rdlc 包含自定义报表项元素,则那些元素也被忽略(只有 .rdl 支持自定义报表项)。

另请参见

概念

在报表中使用表达式(Visual Studio 报表设计器)
ReportViewer Web 服务器控件和 Windows 窗体控件
创建客户端报表定义 (.rdlc) 文件
向报表中添加自定义代码(Visual Studio 报表设计器)
为报表创建数据源

其他资源

示例和演练