在本文中,我们将向您展示如何在 SSRS 报表中插入分页符。或者,如何为 SSRS 报表添加分页符。这是每个报表开发者的标准要求之一。
对于这个 SSRS 分页符示例,我们将使用下面显示的数据集。请参考 共享数据源 和 数据集 来了解创建我们用于此 SSRS 报表的共享数据源和数据集的步骤。
我们在该数据集中使用的自定义 SQL 查询如下所示。请将其键入 SSMS 以查看数据。
-- Query using for Insert Page Breaks in a Report Example
USE [AdventureWorksDW2014]
GO
SELECT Terr.[SalesTerritoryRegion],Terr.[SalesTerritoryGroup]
,GEO.[EnglishCountryRegionName],GEO.[StateProvinceName],GEO.[City]
,GEO.[PostalCode],SUM(FACT.[OrderQuantity]) AS OrderQty
,SUM(FACT.[TotalProductCost]) AS ProductCost,SUM(FACT.[SalesAmount]) AS Sales
,SUM(FACT.[TaxAmt]) AS TaxAmt
FROM [DimSalesTerritory] AS Terr
INNER JOIN [DimGeography] AS GEO ON Terr.SalesTerritoryKey = GEO.SalesTerritoryKey
INNER JOIN [FactInternetSales] AS FACT ON Terr.SalesTerritoryKey = Fact.SalesTerritoryKey
GROUP BY Terr.[SalesTerritoryRegion],Terr.[SalesTerritoryGroup],GEO.[EnglishCountryRegionName]
,GEO.[StateProvinceName],GEO.[City],GEO.[PostalCode]
在 SSRS 报表中插入分页符
对于此 SSRS 分页符演示,我们将使用先前设计的报表之一,如下所示。如您所知,尽管它生成了 16 页,但我们总是不得不上下滚动才能查看最后一条记录,反之亦然。在这种情况下,我们可以使用分页符根据某些条件打破页面。
在本文中,我们将向您展示多种在报表中打破页面或插入分页符的方法。
请参考 表格报表、格式化表格 文章来了解创建表格报表和格式化的步骤,以及 添加页眉和页脚 文章来添加页眉。让我向您展示报表预览。
使用组在 SSRS 报表中插入分页符
从下面的屏幕截图可以看到,我们的表格报表是按州省名称分组,然后按英语国家/地区名称分组。
在此分页符示例中,我们将按每个州省名称打破页面。为此,请转到“行组”窗格,然后单击“州省名称”旁边的向下箭头。请选择“组属性”选项。

选择“组属性”后,将打开如下所示的窗口,其中包含“常规”设置。如果要更改分组列,请使用此部分。现在,转到 SSRS 分页符选项卡,然后选中下面显示的选项。
- 在每个组实例之间:如果您选择此选项,则在新组开始时将打破页面。例如,澳大利亚的昆士兰州是一个新的组实例,因此它将在该点打破页面,并在新页面上显示属于昆士兰州的所有记录。
- 在组开始时:这将在昆士兰州之前应用分页符
- 在组结束时:这将在昆士兰州之后使用分页符

为了显示页面结束位置,我们在页脚中放置了一个自定义 文本框。

从下面的屏幕截图可以看到,分页符报表显示了 69 页而不是 16 页。

正如您所见,报表将每个州省组显示在单独的页面上。

在 SSRS 报表中插入分页符
如果我们的报表没有任何组,那么上述方法是理想的。如果我们的报表没有任何组会怎样?为此,我们正在使用下面显示的表格报表。我建议您参考 添加行号 来理解下面显示的报表。
转到“行组”,右键单击“详细信息”以打开上下文菜单。从中,请选择“添加组”,然后选择“父组”。选择“父组”选项后,将打开一个新的 Tablix 组窗口来配置分组。在此 SSRS 分页符示例中,我们没有任何用于分组的列。因此,我们单击“表达式”按钮来编写一些自定义代码。

选择“表达式”将打开一个名为“表达式”的新窗口。使用此表达式窗口编写自定义表达式。以下代码将记录除以 10。这意味着我们将每 10 条记录分组为一个组。请参考 向表格添加组 文章。

现在您可以看到我们新创建的组。在开始预览报表之前,请转到组属性

然后导航到“排序”选项卡。请通过单击“删除”按钮删除排序的列

单击“确定”关闭属性窗口,然后单击“预览”按钮查看上述组的运行情况。它将创建一个组并将每组 10 条记录设置好。使用此组,我们需要打破流程。
接下来,我将使用我们在第一个示例中解释的方法应用分页符。

接下来,我们正在删除分组列,因为我们不需要额外的列。为此,请右键单击“组 1”列,然后从上下文菜单中选择“删除列”。
它会询问您是想删除组还是只删除列。请选择“仅删除列”选项。请记住,如果您选择其他选项,则必须从创建父组开始。

现在您可以看到报表每页显示 10 条记录。

我转到第二页。

使用参数在 SSRS 报表中插入分页符
我们还可以使用参数在报表中插入分页符,或者说,限制显示记录。在此示例中,我们将对此进行说明。在开始之前,请参考 参数 文章以了解创建参数的步骤。
要添加报表参数,请右键单击“报表数据”选项卡中的“参数”文件夹,然后从上下文菜单中选择“添加参数…”选项。单击“添加参数…”选项后,将打开一个名为“报表参数属性”的新窗口来配置参数属性。

请将默认值设置为 15

接下来,请转到“组属性”,然后单击属性上的“组”旁边的“表达式”按钮。

将 10 替换为新创建的参数。

现在您可以看到分页符报表每页显示 15 条记录。

我将其更改为 10。

上面的 SSRS 分页符报表符合我们的要求,但让我隐藏该参数。为此,请右键单击参数将打开“报表参数属性”。在此,请选择“参数可见性”选项将其设置为“隐藏”。

完成后,单击“确定”关闭窗口,即可看到每页显示 15 条记录。
