ReportViewer 列组分页符

ReportViewer column group page break

我需要使用 ASP.NET ReportViewer 生成每日员工出勤报告。它必须按月分组,这意味着我必须根据 monthName 字段设置分页符。

我在我的 RDLC 报告中提出了以下设计:

结果是:

起初,一切都很好。第一页显示一月份的出勤记录,从一月 1 日到 31 日。点击报告上的 "Next Page" 按钮显示下个月(即二月)的员工出勤记录。

但是员工可能很多,因此最好呈现为行而不是列。没问题。我可以重新设计报告,然后再次将分页符设置为 [monthName],例如:

令我惊讶的是,它不起作用。我在 MSDN 中发现 列组中不允许分页符 !

我的问题是:

  1. 设置列组分页有什么问题?为什么 他们设置了这个限制?

  2. 实现此目的的解决方法是什么?我相信你们有 也尝试完成同样的任务并成功。

  1. 恐怕我不知道 他们 做任何事情的原因。就像这个一样,还有很多不必要的限制。这是我能想到的让人们通过 SSRS 使用 Crystal 报告的唯一原因。
  2. 不过总有解决办法。并不总是那么简单,但有志者事竟成。
    我会尽力在下面解释可能的解决方法:

解决方法

  1. 您首先向只有一列和一行的报告添加一个新的 Tablix。您将此 table 绑定到您的数据集。
  2. monthName 上添加一个行组并重新调整 tablix 的大小,使其与您的报告正文大小相同。
  3. 在 tablix 的单元格中放置一个 Rectangle。并设置矩形的PageBreak属性,BreakLocationEnd.
  4. 将您的原始 table 放在矩形中。然后调整矩形的高度,使其完全适合 table。

以下是文档大纲的示例:

这会使您的 table 组包裹在一个矩形内。此矩形在 monthName 上分组并在末尾省略分页符,这将导致报告者每页打印一个组。

如有问题,请留言。