Crystal Report记录跳至下一页但原位置空白问题咨询
我之前在做Crystal Report的类表格布局时,也碰到过完全一样的问题!用线条模拟的表格,只要TextObject内容一多自动扩展,对应位置就空出来,整行直接跳到下一页,折腾了好久才搞定。下面是几个亲测有效的解决办法:
检查节的可扩展/可收缩设置
右键点击包含表格行的节(比如详细节),选择「格式化节」,确保可以扩大和可以缩小都勾选上。如果节的高度是固定值,文本扩展后没有足够的空间容纳,就会被挤到下一页,当前位置自然就留空白了。正确设置对象锚定关系
这是最关键的一步!选中你的TextObject,右键选「格式化字段」→「公共」标签,把锚定设置为「相对于节的顶部」。同时,模拟表格的线条(比如左右竖线、上下横线)也要和TextObject锚定:- 左竖线锚定到TextObject的左边缘
- 右竖线锚定到TextObject的右边缘
- 上横线锚定到TextObject的顶部
- 下横线锚定到TextObject的底部
这样文本扩展时,线条会跟着自动调整高度,不会出现文本超出框体导致的空白。
替换固定框为独立线条
如果你一开始用的是「绘制框」工具画的整行表格框,那框的高度是固定的,文本扩展后会超出框的范围,看起来就是空白。建议换成单独的上、下、左、右线条,分别锚定到对应的TextObject,这样线条会随文本高度动态变化。启用「保持在一起」防止拆分
还是在「格式化节」窗口里,勾选保持在一起选项。这样当一行内容太长,当前页放不下时,整行会完整跳到下一页,而不会拆分出一部分在当前页留空白,另一部分到下一页。如果是组内的表格,还要检查组属性里的「保持在一起」是否开启。确认文本对象的自动调整高度
最后再确认下TextObject的「自动调整高度」是否勾选(右键文本对象→「格式化字段」→「公共」标签),这是文本能自动扩展的前提,要是没开的话,文本会被截断,开了之后配合前面的设置才能正常显示。
内容的提问来源于stack exchange,提问作者user

