如何让iReport、JasperReport中所有文本框的边框高度保持一致
解决方案
统一同列文本框高度
同一行所有模拟表格列的textField,全部为reportElement标签添加stretchType="RelativeToTallestObject"属性,配置后整行所有文本框会自动适配该行最高元素的高度,彻底解决高度不一致的问题。
修改后的reportElement示例:
<reportElement key="textField-1" mode="Transparent" x="7" y="0" width="177" height="0" isRemoveLineWhenBlank="true" forecolor="#000000" backcolor="#FFFFFF" stretchType="RelativeToTallestObject"> <printWhenExpression><![CDATA[$F{RESULTMICRO1}!=null]]></printWhenExpression> </reportElement>
配置注意:同一行的所有文本框y坐标必须完全相同,否则拉伸配置不会生效
解决边框间隙问题
- 精准控制各列文本框的坐标和宽度:前一列的x坐标+宽度=后一列的x坐标,完全贴合无空隙
- 调整边框配置:非表格边缘的中间列文本框,仅保留上、下、左边框,右边框由后一列文本框的左边框替代,避免双重描边导致的线条异常或间隙
可选优化方案
如果后续表格逻辑更复杂,可以将整行文本框放入同一个frame组件中,给frame配置整体的上下边框,列间隔用独立的竖线组件实现,整体拉伸的适配性更强。
内容的提问来源于stack exchange,提问作者le0nicolas
相关产品推荐
相关产品推荐

