【问题标题】:SSRS - Display multiple pages of empty reportSSRS - 显示多页空报告
【发布时间】:2020-05-03 13:43:46
【问题描述】:

我在 SSRS 工作了很长时间,现在遇到了新的挑战。

我有一份 A4 页面打印的报告。 报表的设计器很复杂,表格很多,一个接一个,主tablix的高度不止一个A4页面。

我使用分页符使报表在打印时看起来不错,但有时报表可能没有数据。所以我将“NoRowsMessage”属性添加到主 tablix 中。

现在,问题是我有一个空报告,显示“No Rows”消息,它包含 3 个空页!

我试图删除所有报告项。

我检查了宽度和边距 - 这不是问题。

我检查了“ConsumeContainerWhitespaces”属性是否为真,但它仍然没有使空白页面消失。

有什么办法可以在没有数据的情况下只显示一页?

IMG1: no data report

IMG2: preview 1st page

IMG3: preview 2nd page

编辑:我可以提示如何重新创建问题:获取一个新的空报告,添加一个列表 tablix,将主列表的高度从 A4 限制进一步扩展。在您的数据集中没有数据的情况下运行报告(来自发布)。它将显示一个空白页面。现在返回设计并将“NoRowMessage”添加到这个主tablix。再次运行报表并查看多个页面。

【问题讨论】:

  • 能否展示一下您的报告设计,仅从描述中猜测问题所在。
  • 我添加了如何创建问题的步骤,请参阅问题底部的编辑部分。
  • 如果我理解正确的步骤,我不明白为什么 tablix 高度设置为大于页面大小。通常,您会将任何容器(矩形、tablix、矩阵等)设置为尽可能小,因为它们会自动扩展以适应内容。

标签: reporting-services ssrs-2012 ssrs-2008-r2 ssrs-tablix


【解决方案1】:

似乎主 tablix 里面有一个 tablix 没有隐藏,而且会占用空间。

我试图删除所有报告项。

我会建议一个适合我的解决方案,而不是忽略您已尝试删除所有报告项目并且您有 SSRS 经验的事实。

检查是否不仅在主 tablix 中,而且在其中的每个 tablix 中都有数据。如果没有数据,则将每个嵌套的 tablix 隐藏在主目录中。

例如:

Additional data 列中有一个 tablix

为每个报表 tablix 选择 Tablix 属性,主报表和所有嵌套报表。

然后:

  1. 选择卡片可见性
  2. 选择选项根据表达式显示或隐藏
  3. 点击fx图标设置表达式

如果不是 tablix,则有一些东西会占用该空间、某些行或表。最终,我会显示整个 tablix 而不是消息,以查看占用如此多空间的内容并隐藏该项目。

我希望这会有所帮助,当我遇到类似问题时它对我有用。

【讨论】:

  • 感谢您的尝试 - 因为我从报告中删除了所有内容(主列表 tablix 除外),这对我没有帮助。我可以提示如何重新创建问题:获取一个新的空报告,添加一个列表 tablix,将主列表的高度从 A4 限制进一步扩展。在您的数据集中没有数据的情况下运行报告(来自发布)。它将显示一个空白页面。现在返回设计并将“NoRowMessage”添加到这个主tablix。再次运行报告并查看多个页面。
  • @Avsh 谢谢你的提示。我设法重现了这个问题,但不幸的是我没有设法解决它。我想到的替代方法是在没有数据的情况下隐藏主 tablix,使用 =IIf(IsNothing(First(Fields!<some_column>.Value, "<main_matrix_name>")), true, false) 并将没有数据消息显示为单独的 TextBox。
  • 是的,我终于做到了。我正在使用隐藏表达式:=CountRows("MainDatasetName")=0 用于主 tablix(或任何其他主要空间持有者),=CountRows("MainDatasetName")>0 用于带有我的 No Rows 消息的文本框。非常感谢您的时间和精力。
  • @Avsh 没问题,我希望能帮上忙。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 2013-02-04
  • 2023-03-07
  • 1970-01-01
相关资源
最近更新 更多