带有矩阵和列表的SSRS 2005在打印或导出为PDF时显示每个数据页之间的空白页

时间:2010-01-12 15:30:51

标签: pdf matrix reportingservices-2005

我正在使用SQL Server Reporting Services 2005 - 我已经创建了一个纵向A4报告8.5in by 11in。

报告由标题,正文和页脚组成。

正文由2列布局中的多个文本框组成,其下方是放置在列表中的矩阵。

矩阵由2个固定行组成(顶行有1个固定文本列,底部有2个数据集字段列)和多个列(每个列的宽度为0.875英寸,数据来自不同的数据集字段) )。我在列表中使用group expression = Ceiling(RowNumber(Nothing)/ 5),使矩阵列每5个重复列开始低于前一列。

我面临的问题是,当我将报表导出为PDF或物理打印时,如果矩阵跨越多页数据,则报表数据的每一页之间都会出现一个空白页面(只有页眉和页脚) 。页面上的矩阵列有足够的空间。我试过以下,但无济于事:

1)我检查了Page Width(8.5in)> = Body Width(7.20833in)+ Left Margin(0)+ Right Margin(0)

2)我检查了Page Height(11in)> = Page.TopMargin(0)+ Header.Height(2in)+ Body.Height(6.60417in)+ Footer.Height(0.89583in)+ Page.BottomMargin( 0)

3)我玩了各种边距值,左边,右边,上边距和下边距为0英寸到0.5英寸。

4)我将所有文本框的CanGrow属性设置为false。当文本不适合时,这也会产生不良影响,但即便如此,仍然会出现空白页面问题。

5)我将列表和矩阵放在一个矩形中,矩形外面有一个空白区域(矩阵的右边)。

阻止空白页面出现的唯一方法是将列表分组表达式更改为= Ceiling(RowNumber(Nothing)/ 2),即使矩阵每2个重复列(而不是5)开始一个新的“表” 。但是,我不明白,因为右侧有3个其他列有足够的空间,只需要放2个就是奇怪而不整洁!

我非常感谢任何帮助! 提前致谢! 添

2 个答案:

答案 0 :(得分:12)

对于在SSRS 2008中遇到类似问题的任何人,我发现解决此问题的唯一方法是将报告本身上名为ConsumeContainerWhitespace的属性设置为true

在我的情况下,问题是页面上的矩阵在设计模式下很窄,右边有很多空格。渲染时,矩阵渲染得更宽(由于数据),但渲染器也会包含空格,导致报告比实际页面宽得多。

如果设置此属性,则不会渲染额外的空格。

答案 1 :(得分:0)

如果我理解正确,我之前已经解决了这个问题。矩阵声称有额外的空白区域,我使用的解决方案如下:

您需要消耗空白区域。

[-------页面宽度------]
[matrix] [ - textbox hack - ]

我认为您可以将文本框设置为不可见

注意:当我在2005年尝试这个时,它只在不可见文本框跨越整行时才有效。