【问题标题】:Report items affecting each others positions in SSRS 2008报告在 SSRS 2008 中影响彼此职位的项目
【发布时间】:2020-10-22 02:14:01
【问题描述】:

我在某些报表项在有条件隐藏时更改其他项的位置时遇到问题。

我一直在使用 Reporting Services 2000 以 PDF 格式打印商品价格标签,该报表由一个表格组成,每个商品都有一个单元格。标签上的数据字段和其他项目都放置在一个矩形内。由于需要非常具体的布局,一些报表项在设计器中重叠,以便在呈现的 PDF 上正确定位。

这几年来一直运行良好,直到我们升级到 SSRS 2008,我不得不将报告迁移到新版本。

现在,突然间,当报表中的某些项目被隐藏(通过 Hidden-property 中的表达式)时,某些其他项目会移动它们的位置。在某些情况下,甚至包含矩形也会调整大小。

经过相当多的谷歌搜索,我了解到 SSRS 2008 试图保持报告项目之间的相对间距,因此如果另一个项目左侧的项目大小发生变化,则右侧的项目相应调整。

显然,隐藏一个项目等于将其大小更改为零,因此它旁边的项目向左移动以填补空白。

但是,我不希望这种行为,因为所有项目都应保持在其预定义的位置,而不管其他项目。

那么,有谁知道“修复”报告项目位置的方法,以便它们不受隐藏其他项目的影响?

我尝试将项目放在单独的矩形内以便对它们进行分组,希望只有同一个矩形内的项目才能相互影响,但这似乎没有帮助。

任何想法将不胜感激。

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    在并排示例中,您可以将可能隐藏的控件放置在一个大到足以容纳两者的矩形中;但随后将必须保持在固定位置的另一个控件放在矩形后面(即此控件的父级是报表而不是矩形)。

    如果这还不够,并且隐藏项和非隐藏项使用相同的数据集,您可以(不寒而栗)使用一个巨大的 tablix 控件,其分组为 =1 和正确的行数和列数来控制布局(因为你可以在里面插入矩形)。

    其他一些技巧是将颜色/背景颜色属性设置为白色(尽管在某些渲染格式中,您可以单击并拖动以突出显示并仍然阅读那里的内容)...或者您可以制作内容of 控件全部基于表达式,以免满足条件时不产生任何东西,因此它基本上是不可见的。

    【讨论】:

    • 天哪,这确实有效!除了在受影响的字段前面设置包含矩形的 z-index 之外,我已经尝试了所有这些!非常感谢,你救了我的一天!我希望 SSRS 有一些属性来禁用这个“动态布局”功能,但是现在,这解决了我的问题,没有太多麻烦。
    • 我在 2012 年遇到了同样的问题。我在这里找到了更详细的解决方案:dinesql.blogspot.com/2010/05/…
    • 太疯狂了,成功了!一定要爱SSRS!实际上,我只将隐藏的文本框放置在一个比自身稍宽的矩形中,以便该矩形成为它的父级,并且按照您的建议,将矩形发送到前面。
    【解决方案2】:

    另一种方法:创建包含要隐藏的字段的矩形,然后在矩形的整个底部(或顶部)放置一条白线。即使其中的字段被隐藏,这也会使矩形保持相同的大小。如果矩形内的字段缩小,矩形将缩小,但跨越整个矩形的线可以防止这种情况发生。

    【讨论】:

      【解决方案3】:

      不确定这是否对其他人有帮助,因为这是一个相当具体的要求,但它解决了我的 OPs 问题变体,所以就这样吧。我正在设计一个 SSRS 报告来打印标签(在我的例子中是 Avery 5164),用户想要选择他们要打印的工作表上的哪些标签,因为他们可能已经使用了一页或两个标签。因为打印标签的定位很重要,我需要它们保持在原位,即使纸张上它们上方的标签被隐藏。我的解决方案是创建与标签大小相同的空矩形,并将它们直接放在现有矩形的顶部。即使我隐藏了两个、三个、四个等...标签,其余的也会保留。

      【讨论】:

        【解决方案4】:

        只需绘制一个矩形,然后将带有条件隐藏表达式的对象与新的空矩形的位置稍微重叠。右侧的对象将被矩形固定在适当的位置。没有背景颜色或任何东西,只是一个矩形。垂直工作就像您有一个地址块并且您希望地址线下方的对象保持不变。像这样... enter image description here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-04-06
          • 1970-01-01
          • 1970-01-01
          • 2013-06-24
          • 2011-01-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多