报告服务 - 报告 SSRS 2008 中相互影响职位的项目



当某些报告项被有条件隐藏时,我无法更改其他项的位置。

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

这已经运行了好几年,直到我们升级到 SSRS 2008,我不得不将报表迁移到新版本。

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

经过相当多的谷歌搜索,我了解到 SSRS 2008 试图保持报表项之间的相对间距,以便如果左边的一个项的大小发生变化,右侧的项会相应地进行调整。

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

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

那么,有谁知道一种"修复"报表项位置的方法,以便它们不会受到隐藏其他项的影响?

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

任何想法将不胜感激。

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

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

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

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

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

只需绘制一个矩形,并使用条件隐藏表达式将对象与新空矩形的位置稍微覆盖。右侧的对象将由矩形固定到位。没有背景颜色或任何东西,只有一个矩形。垂直工作,就像您有一个地址块并且您希望地址行下面的对象保持不变一样。这样。。。在此处输入图像描述

最新更新