0

我的 ASP.NET 站点使用 Report Viewer 9.0 从 Reporting Services 2008 R2 服务器运行报告。对于大多数报表,报表查看器准确地显示报表将打印的页数(即在页眉的分页字段中)。但是,有一份报告始终显示为仅使用 1 页,而它始终打印为 2 页。

(这可能是一个微不足道的问题,因为对实际打印没有影响,但它是“客户感到困惑”的事情之一,因此必须进行调查:))。

一些细节:

  • 所有显示准确页数的报告都是相当简单的“记录列表”样式报告 - 基于一个/多个 tablix,标题为 texbox
  • 有问题的一份报告是 2 页的“客户发票”,其结构如下:
  • 数据集是包含订单详细信息(客户名称、订单日期等)的单个记录
  • 报告由 2 个垂直排列的矩形组成,宽度和高度都适合 1 个 A4 页面(19 厘米 x 27.7 厘米,允许在报告上留出 1 厘米的边距)
  • 没有在任何控件上设置“自动分页符”属性(例如,矩形#1 之后的分页符)。这不是必需的,因为矩形的大小使报告可​​以完美地打印在 2 页上。
  • (这可能无关紧要)每个矩形的可见性都可以通过布尔报告参数切换 - “打印页面 #1”和“打印页面 #2”。这也适用于控制打印哪些页面。

我不想在任一矩形上设置“自动分页符”,因为如果报表参数导致一个或其他矩形被隐藏,这将导致打印空白页。

我还能做些什么来让 Report Viewer 意识到有 2 个页面?

编辑:仅报告查看器不是问题 - SSRS 报告管理器将报告显示为 1 页,预览报告时 Visual Studio 报告设计器也是如此。但是,在进行打印预览时,两者都显示 2 页。

4

1 回答 1

0

在某些情况下,这可能是由于PageCountMode默认为Estimate造成的。

据我所知,在连接到 2008 报表服务器的 ReportViewer 9.0 中,您对此无能为力。我知道的唯一解决方案是升级到 10.0。但是,在这个 social.msdn 线程中,他们建议将TotalPages全局添加到标题中(大概是为了强制进行实际计数?)。我自己没有尝试过,但它可能会帮助您解决问题。

于 2012-10-17T20:59:10.030 回答