在使用RDLC报表时,碰到这种情况:当只有一页数据时,报表确显示两页,第二页除了报表头之外数据为空。然后,当有多页数据时,最后一页为空。
RDLC報表設計好後,在ReportViewer預覽報表時,頁數都正常;但在切換為整頁模式時,常造成多了不少空白頁出來。第一時間覺得不可思議,在ReportViewer看來正常,怎可能在整頁預覽時,格式會跑掉?如果在整頁預覽時格式跑掉,那在列印時也一定是這樣的情形。 ReportViewer會將RDLC所設計的報表檔顯示其中,但和實際紙張列印時,並不是如此,因此時就要檢查RDLC報表本身的大小。
1.先至Report.rdlc報表設計的頁面,選擇功能表上的[報表]->[報表屬性],在[配置]的頁籤中記錄著輸出報表的紙張大小,預設應為A4直式的紙張(頁寬:21cm,頁高:29.7cm,左右上下邊界:2.5cm),記下這些值。
2.檢查Report.rdlc的屬性視窗中[主體]屬性的Size值,它的寬度Width要小於[報表屬性]中的(頁寬) – (左邊界) – (右邊界)。
3.調整後再整頁預覽看看,多調幾次應就不會再產生太多的空白頁了。
这个问题很奇怪,网上有很多解决方案,以下的方法可以解决此问题。
方法一:设置报表的属性 ConsumeConteinerWhitespace = True
第一种方法具体操作:
1,选中要修改的报表按F4 ,将下拉框中的【主体】换选中【报表】
2,选择【报表】后就出现了ConsumeConteinerWhitespace 的属性,默认是false,改成True 即可解决空白行的问题
方法二:在Row Group 中设置 Keep Together = False, 进入Advance Mode,设置所有Static成员的Keep Together = False
对于一些报表,调整Body的宽度和高度,直到和Report的宽度和高度差不多就行了。操作就是将body的边框拖到和Report平齐。
这么说来,这就是个非常简单的问题,是由于Body的宽度太宽或高度太高引起的。
附件截图设置RDLC报表属性