RDLC-Report中的空白页面

时间:2011-01-28 17:01:27

标签: reportviewer rdlc

我有一个rdlc报告,其中包含一个Tablix,没有其他内容。 Tablix在水平方向上展开以显示天数,在垂直方向上展示组。

Tablix按预期工作,只要我将内容区域的宽度设置为等于Tablix的宽度。

如果我将内容大小扩展到固定大小(大约是PageWidth-PageBorders)并运行报告,则每隔一页都是一个空白页。
但是Tablix只使用一页。每个奇数页面都是空的。 Tablix似乎将其水平扩展添加到当前定义的内容宽度,然后计算溢出。

reportviewer版本为3(2010 Redistributable)

有人有这种奇怪行为的解决方案吗?

更新

如果我将报告导出到excel,我会看到Tablix的右侧站点上有一列与生成的日期一样长。似乎真的是一个错误或一个我没看到如何停用的功能 我也尝试从表中创建相同的构造,它导致了同样的问题,这并不令人惊讶,因为该表在内部也是一个Tablix。

更新1

如果我将报告的属性“ConsumeContainerWhitespace”设置为true,则上述测试版本可以正常工作。但是,如果我将其他元素放在“白色”区域中,效果就会重新出现。

19 个答案:

答案 0 :(得分:41)

设置页面属性ConsumeContainerWhitespace=true(在属性对话框中,F4)有所帮助。然而,无论如何制作报告都是正确的。在开始时它只有在我将所有额外内容添加到页面页眉和页脚时才起作用。但这是不可接受的。经过大量的尝试,我成功地根据需要制作了报告。但是我并不真正理解背后的逻辑。

我想到我已经做过这样的报告(在两个方向上,水平和垂直一起增长)没有任何问题,我不知道这里有什么区别。对于这份报告,ConsumeContainerWhitespace - 属性具有明确的可再现性。但是为什么我从未发生类似的报道,我不知道。另外我不知道为什么在布局引擎接受我的设计之前我先绕圈。

答案 1 :(得分:14)

解决此问题的最佳方法是,例如A4页面 Width=21 cmHeight=29.7 cm

现在保证金Left=1 cmRight=1 cm,因此您可以使用19厘米的宽度。

当您了解此基本计算时,表示您的问题已解决。您可以通过右键单击报告属性=>来设置报告页面大小属性。 PAGESETUP。

答案 2 :(得分:9)

检查“正文”尺寸,尝试使其与实际纸张尺寸一样宽和高,但仅减少边距。

答案 3 :(得分:7)

页面设计存在混淆。开发人员会认为正在设计的报告是WYSIWYG,但实际上并非如此! Microsoft reportviewer将把您设计的页面作为内容!并附加在页面外部定义的边距,并证明您的页面永远不适合一页!!

因此,在设计新报告时,请关注内容区域,客户区域(包括页眉和页脚),并允许在您的外边框上添加边距。

答案 4 :(得分:7)

解决方案很简单ConsumeContainerWhiteSpace=True(您可以在属性窗口中找到“报告”),您可以在主菜单/报告/报告属性中将纸张大小设置为“A4”,然后检查纸张尺寸大于body + header + footer + margins

答案 5 :(得分:6)

在我使用报告正文的高度宽度之前,我遇到了同样的问题。 :)

答案 6 :(得分:5)

我最近遇到了这个问题。

根本原因可能是:
你的报告的主体有一些空白的上行报告页脚或其他地方 解决方案是:
1,单击报告正文
2,进入属性窗口,你会看到体型属性
3,检查身体大小,你可能会发现一个奇怪的数字,如9.6654in,1.5625in    这意味着你的页脚有一些空白,修改高度或宽度大小,直到你看不到空白。

答案 7 :(得分:4)

请在窗口顶部的对象选择器中选择“报告”。 并使ConsumeContainerWhiteSpace = true 如果同样的问题仍然存在,那么您的rdlc报告大小应该小于您的报告正文。!

答案 8 :(得分:3)

您需要将报告宽度属性设置为实际打印页面宽度。在我的情况下6英寸帮助。

答案 9 :(得分:3)

我正在处理RDLC报告,该报告正在打印额外的空白页。我尝试了所有常用的技巧,以及所有我能想到的方法,直到我意识到问题是由报告右边缘区域中的大量可见空白引起的。报表中的一个对象(“矩形”)单个像素太宽或两个像素太宽,因此无法调整报表可见空间的大小。删除所有多余的宽度后,报告将开始以预期的页数进行打印。

Visual Studio 2017(15.7.5)+ Microsoft Rdlc Report Designer扩展(v14.2)

enter image description here

答案 10 :(得分:3)

您需要确保您的RDLC报告包含:

  
      
  1. ConsumeContainerWhiteSpace = true(点击F4打开)
  2.   
  3. 报告正文大小< =页面大小+边距大小。 (按Ctrl + Alt + D打开)
  4.   

答案 11 :(得分:3)

页脚也可能导致问题。因此,如果您有一个,最好将它尽可能地放在主要内容上。在这种情况下,您无需设置Body.Height属性。

答案 12 :(得分:2)

我的4x2英寸标签为一页报告打印了3页额外的页面。

要解决此问题,我将Body.Size属性缩小为与Report.PageSize相同或更小,减去相应的Report.Margins总和。

答案 13 :(得分:2)

  1. 转到属性 F4
  2. 选择正文
  3. 将宽度和高度写入 1 厘米

Visual Studio 将覆盖尽可能小的 Body

完成。

答案 14 :(得分:1)

或者,您只需以图形方式将报表设计的大小调整为上一个报表控件或标签的确切底部。

或添加页脚部分以创建一些空格。

enter image description here

答案 15 :(得分:1)

试试这个,

只需确保所需的所有数据都在报告中, 然后选择表格或矩阵并使其向左挤压,如果需要则向左上角移动,直到您的白页问题完成为止。

但要确保细胞以正确的方式挤压,温柔(我希望你能得到它!)

好的,再见

答案 16 :(得分:1)

我有一个类似的问题,我用这种方式解决了

例如对于宽度,应满足以下方程式

PageSize >= LeftMargin +  BodySize + RightMargin 

在哪里可以找到BodySize?

按F4键->单击报表内的某处->您会发现正文属性(查看size属性,取宽度值)

在哪里可以找到报告的页面大小?

单击报表外部的某个位置->您将找到报表属性(查看PageSize(取其宽度值)和marginsLeftright ,。 ),取左右边距值)

从这些属性中获取值,并检查它们是否满足

PageSize >= LeftMargin +  BodySize + RightMargin 

答案 17 :(得分:0)

我认为这很重要,可以放在这里,尤其是因为每天我们要做工作的更多关键信息不断消失:

从回复到The "Every Other Page Is Blank" Feature

许多Reporting Services用户问这个问题:

“我正在渲染为物理页面格式(PDF,图像,打印),并且 由于某些原因在所有其他页面之间插入空白页面 在报告中。感谢Reporting Services提供的免费页面。 这是一个令人着迷的功能,但是纸张不是免费的,我正在获取纸张 剪切后,将其他所有空白页打印出来。我如何能 让它停止?!”

我答复:

这几乎总是由您的报告正文太宽引起的 为您的页面。确保主体的宽度小于 实际页面尺寸,减去页边距。对于那些谁是 数学上的事情,请确保:

正文宽度<=页面宽度-(左页边距+右页边距)

对于物理页面渲染器,请务必牢记 可用区域的概念。可用区域是剩余的空间量 在页面上为您的报告保留空间后绘制 页边距,页眉和页脚以及列间距(对于多列 报告)。

可用水平区域:

X =页面宽度-(左页边距+右页边距+列间距)

垂直可用区域:

Y =页面高度-(顶部页边距+底部页边距+页眉高度+页脚 高度)

报告中的任何时间对象(包括正文本身)都会扩展 超出可用区域,因为它们是那样定义的,或者 因为它们在运行时增长,所以物理页面渲染器没有 只能选择进入新页面。

答案 18 :(得分:0)

确保机身尺寸为cm,而不是英寸(英寸)