编制多列报表

更新日期: 2005 年 12 月 5 日

您可以设计一个使用多列布局的报表,就像传统的报纸栏那样,数据沿多个相邻的列从上到下列出。多列布局将应用于整个报表。不能将报表的上半部分指定为多列布局,将下半部分指定为表格布局。指定多列布局时,报表服务器会将每列创建为一系列紧密排列的非常狭窄的页,从而使外观显示为多列。您在页级别设置的属性将应用于报表中的每一列。您可以根据需要定义任意多个列。

为了获得最佳效果,请使用可提供重复数据行的数据区域(例如,表或列表框)。多列报表中的列表框在页的左侧从上到下显示数据,然后再转到该页上相邻列从上到下显示后面的数据。如果要使用文本框或图像,则请将其放置在列表内以便可重复出现在每列中。

如果您习惯使用子报表在父报表中嵌入另外的报表,则请注意,在多列布局情形下无法使用多个子报表获得相同的结果。在多列报表中,子报表将继承父报表的列设置。这意味着如果在子报表中定义了多列布局,则该子报表将忽略为其指定的列设置;还意味着您无法使用子报表在多列报表中创建自由格式的布局或单列布局。多列报表中包含的子报表始终使用父报表的列设置。

若要限制每列中包含的数据量,请定义组表达式并对该组设置分页符。例如,您可以添加一个限制每列行数的表达式。您可以使用本主题中后面提供的示例来查看如何实现这一点。

并非所有呈现扩展插件都支持多列布局。您可以使用下列呈现扩展插件来查看多列:

  • PDF
  • TIFF

不能通过报表设计器预览以及大多数呈现扩展插件来查看多列报表。在预览以及生成 HTML、Web 存档、Excel、CSV 及 XML 输出的呈现扩展插件中,多列布局显示为单列。

查看多列报表

若要预览或查看多列报表,必须将报表导出为 PDF 或 IMAGE 文件,然后从文件系统打开该文件。由于 HTML 不支持多列报表布局,因此要避免从报表管理器或在使用 HTML 作为默认输出格式的 SharePoint Web 部件中运行报表。为了获得最佳效果,请考虑下列备用的多列报表部署选项:

  • 创建将报表作为 .pdf 或 .tiff 文件传递到共享文件夹位置的订阅。
  • 使用 URL 访问部署报表。您可以在报表 URL 上指定 PDF 或 IMAGE 呈现扩展插件,从而确保报表始终以支持多列的输出格式打开。

若要隐藏报表使其无法在报表查看工具中显示,请将报表发布到报表服务器文件夹,然后创建不包含该文件夹的查看文件夹权限的角色分配。有关文件夹安全性和角色分配的详细信息,请参阅保护文件夹创建、修改和删除角色分配

示例:设计多列报表

您可以通过下面的示例了解如何创建多列报表。此示例假设您已了解如何创建报表、定义数据集以及创建基本报表布局。如果您不确定如何创建报表和数据集,请参阅教程:创建基本报表

  1. 创建一个报表以及一个为每行返回两个字段的数据集。为了实现此示例的目的,您可以使用以下查询从 AdventureWorks 示例数据库检索两个字段:

    Select distinct Lastname, Firstname from Person.Contact Order by Lastname
    
  2. 设置报表属性以指定列数、边距以及填充。在此示例中,为报表指定 2 列。若要查看有关向报表添加列的说明,请参阅如何在报表中指定多列(报表设计器)

  3. 在“工具箱”中,将**“列表”**拖动到报表设计图面。

  4. 对“列表”进行定位,使其位于报表顶部。这将会删除报表中多余的空格,确保在呈现报表时,页上的两列相互对齐。

  5. 将**“表”拖动到“列表”“表”**非常有用,因为它在重复数据行时,提供统一的字段排列,但是您可以使用能提供所需报表布局的任意数据区域类型。

  6. LastnameFirstname 字段从数据集拖动到表中的“详细信息”行。

  7. 删除“页脚”行以及第三列。

  8. 调整页面布局的大小以删除多余的空格并使第二列出现在视图中。报表布局的外观应与下图类似:

    显示多列报表布局

    在报表中定义多个列时,报表设计器将根据列数计算报表的列宽、报表的宽度和列间距的大小。然后将显示缩小的设计图面,以便您在报表中放置适合列的报表项。请注意,必须将整个报表的布局置于缩小的设计图面上。其他列显示出来后,便可验证所定义的列数是否适合页面大小尺寸。您可以调整页面大小、填充和边距以在页上放置更多的列。

  9. 在“列表”上创建组表达式并指定分页符,以便强制数据在下一列中显示。

    1. 右键单击“列表”并选择**“属性”**。

    2. 在“列表属性”中的**“常规”选项卡上,单击“编辑详细信息组”**。

    3. 在**“分组和排序属性”对话框中的“常规”**选项卡上,键入表达式以限制每列中显示的行数。在以下表达式中,允许每列中显示二十行:

      =Ceiling(RowNumber(Nothing)/20)
      
    4. 单击**“在结尾处分页”**。

    5. 单击**“确定”**关闭“分组和排序属性”对话框。再次单击“确定”关闭“列表属性”对话框。

  10. 预览报表,然后将其导出到 PDF 或 IMAGE 输出。

设计多列报表时,您可以从预览工具栏上的**“导出选项”**中选择所需的输出格式,从而在报表设计器的预览模式下将报表导出到 .pdf 或 .tiff 文件。请注意,以预览模式打开报表后,多列布局将不可见。

请参阅

任务

如何向列表中添加组(报表设计器)
如何添加、移动或删除列表(报表设计器)

概念

导出报表
预览报表
创建、修改和删除订阅
设计报表布局

其他资源

运行安装程序安装 AdventureWorks 示例数据库和示例
URL Access

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2005 年 12 月 5 日

新增内容:
  • 添加了示例和图。
  • 添加了有关在多列布局中使用子报表的信息。
  • 添加了有关分发多列报表的建议。