Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 在SSRS 2008中报告相互影响的项目位置_Reporting Services - Fatal编程技术网

Reporting services 在SSRS 2008中报告相互影响的项目位置

Reporting services 在SSRS 2008中报告相互影响的项目位置,reporting-services,Reporting Services,当某些报表项有条件隐藏时,我无法更改其他项的位置 我一直在使用ReportingServices2000将商品价格标签打印为PDF,报告由一个表组成,每个表中的每个商品都有一个单元格。标签上的数据字段和其他项目都放置在一个矩形内。由于需要非常具体的布局,一些报表项在设计器中重叠,以便在呈现的PDF上正确定位 这已经运行了好几年,直到我们升级到SSRS 2008,我不得不将报告迁移到新版本 现在,当报表上的某些项被隐藏(通过hidden属性中的表达式)时,某些其他项的位置突然改变。在某些情况下,甚

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

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

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

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

在谷歌搜索了一段时间后,我了解到SSRS2008试图保持报表项目之间的相对间距,因此如果另一个项目左侧的项目大小发生变化,则右侧的项目会相应地进行调整

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

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

那么,是否有人知道一种“修复”报表项位置的方法,以便它们不受隐藏其他项的影响

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


任何想法都将不胜感激。

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

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


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

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

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

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

哦,我的天哪,这确实奏效了!我已经尝试了所有这些,除了在受影响的字段前面设置包含矩形的z索引!非常感谢,你救了我一天!我希望SSRS有一些属性来禁用这个“动态布局”功能,但现在,这解决了我的问题,没有太多麻烦。我在2012年也有同样的问题。我在这里找到了更详细的解决方案:太疯狂了,它成功了!一定要爱SSR!实际上,我只把文本框放在一个比它本身稍宽的矩形中,这样这个矩形就是它的父对象,正如你所建议的,把这个矩形放在前面。