【问题标题】:SSRS Report not correctly suppressing white spaceSSRS 报告未正确抑制空白
【发布时间】:2020-09-18 11:23:29
【问题描述】:

在我使用 SSRS 报告的几年中,我看到了一些令人费解的情况,我已经能够围绕大多数问题进行设计,并让它完成我被要求做的所有事情。

但显然,这不是一件非常简单的事情!

我在 Microsoft SQL Server Reporting Services Designers 中使用 Visual Studio 2019 版本 16.7.2 已安装版本 15.0.19124.0。报表没有绑定数据,这只是一个简单的设计理念。

我有一份具有静态自定义页面大小(以厘米为单位)、交互式大小且无边距(12.8 x 17.8 厘米)的报表。 特意设置正文大小以使其成为两页报告(2 x 页面高度)。

报告属性上的“ConsumeContainerWhiteSpace”设置为 true。

第 1 页有一张图片,占用了第 1 页的整个空间(大小为 12.8 x 17.8),并在图片右下角附近放置了一个文本框(覆盖它,但不超过页面的宽度或高度,并且设置为不增长)。

第 2 页完全相同,内容从第 2 页将和应该开始的位置开始 (0, 17.8)。但是,第 2 页内容设置为隐藏(隐藏 = true,在图像和文本框上)。

预览时,报表呈现两页,其中一页为空白。

如果我关闭第 2 页内容文本框并进行预览,报告将呈现为一页(根据我的需要)。

如果我将文本框替换为 Rectangle 或 Tablix(我确实需要在此报告中使用的两个对象以及位于其所在位置的文本框)并将它们设置为隐藏,则会出现同样的问题。

将这些对象中的任何一个移动到第 2 页的顶部,仍然会导致相同的行为。

似乎某些对象尽管被隐藏了,但分配的空间无法“卷起/截断/缩小”。这是“设计行为”吗?

我在这里是否缺少某种形式的魔法巫术来让它发挥作用,或者只是我不理解的东西......?

感谢阅读!

注意:到目前为止,我已经尝试过其他帖子中提到的“切换到英寸,然后回到厘米”的解决方案,有不同的“保持在一起”属性,检查了“CanGrow”和“CanShrink”属性的变化 - 所有其中没有帮助找到解决方案。

【问题讨论】:

  • 这很可能是项目相互叠加的产物,但如果没有任何设计截图就很难确定。在这些情况下,我通常将各种元素设置为具有鲜明不同和对比鲜明的背景或边框颜色,以查看它们的边界在渲染预览中的位置。还值得注意的是,各种渲染选项(预览。HTML、Excel、PDF、图像等)的渲染也略有不同,因此虽然您的预览可能不正确,但渲染的 PDF(例如)可能是正确的。跨度>
  • @iamdave Page 1 完美呈现,一切就位,准确无误。在这两种情况下,导出的 PDF 都反映了我在预览中看到的内容。正如您所说,在大纲视图中,存在不同的渲染,其中组件没有出现覆盖,但这是预期的。
  • 页面 2 可能无法按预期呈现,因为溢出超出了设置的页面区域。
  • 我愿意承认情况可能如此。事实上,现在预览只是对两张图片做同样的事情。
  • 这不是让步的问题,我也不是说绝对是问题所在。如果您根据我上面的评论使用背景或边框突出显示各个报告项目,您将能够明确地看到问题是否超出了范围。

标签: reporting-services visual-studio-2019 ssrs-2016


【解决方案1】:

报告正文应设置为最宽以适合您的输出页面,并且足够长以容纳您的所有报告项目。当您希望不同的项目出现在新页面上时,请将它们放在一个容器中,并在之前或之后设置分页符(以最合适的为准)。这也可以使用表格组上的分页符以数据驱动的方式处理。

报告设计中不需要有空白区域来“填满”呈现报告中页面的其余部分。

如果您想在报告底部显示任何内容,只需将其放在页脚部分即可。如果您希望特定内容出现在不同页面的不同高度的页面底部,这将是一个更大的挑战,并且通常需要在报告正文中使用一些巧妙的数据驱动分隔符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多