如何让SSRS Tablix在每页的同一位置起始打印?
解决SSRS Tablix跨页起始位置不一致的问题
刚好之前我也碰到过一模一样的情况——Tablix第一页有顶部偏移,分页后直接贴到页面顶端,看着特别别扭。结合你边距设0的前提,给你两个亲测有效的方案:
方案一:用Rectangle容器固定位置(最稳妥)
这是我最常用的方法,能完美保持每页的起始高度:
- 先拖一个Rectangle控件到报表设计界面,在属性窗口(按F4)里把它的
Top属性设为你要的固定值(也就是0.87),Left保持你需要的水平位置 - 把你的Tablix直接拖进这个Rectangle里面,确保Tablix在Rectangle内的
Top设为0(让它紧贴容器顶部) - 关键设置:把Rectangle的
KeepTogether属性改成False,如果你的Tablix有需要重复的表头,记得把Tablix的RepeatWith属性指定为这个Rectangle - 原理:分页时整个Rectangle会保持你设置的Top位置,Tablix跟着容器走,自然每页都从同一高度开始
方案二:直接设置Tablix的绝对位置
如果你不想额外加容器,也可以直接调整Tablix的位置属性:
- 选中Tablix,打开属性窗口(F4)
- 找到
Position下的Location选项,把默认的Relative改成Absolute - 手动设置Absolute位置的
Top为0.87,Left保持原有数值 - 注意:一定要确认你的页面高度足够容纳「Tablix内容高度 + 0.87」,因为你边距设为0,要是内容超出页面范围,还是会出空白页。可以在报表属性里微调
Page Size的Height来适配
顺便解决你提到的边距导致空白页的问题
你说加边距就出空白页,大概率是内容尺寸+边距超过了页面尺寸:
- 打开报表属性,看
Page Size的Width(比如默认8.5in),然后检查Tablix的Width + 左边距 + 右边距是不是超过了这个值,高度同理 - 可以打开Tablix的
CanGrow和CanShrink属性,让内容自动调整大小,避免超出页面边界
设置完之后预览一下,应该就能看到每页的Tablix都从0.87的位置开始打印了,亲测有效!
内容的提问来源于stack exchange,提问作者C Henry
相关产品推荐
相关产品推荐

