在Jasper报表中定义最大明细区域/文本字段的高度

问题描述

我的目标是使用Jasper Reports v6.13将巨大的文本分成3列(等比例)。当细节区域的剩余空间减少到页面的1/3时,我已经实现了接近我需要的东西;我可以在具有相同数量文本的3列上显示我的文本。但是,当页面的剩余空间足够大(页面的一半或更多)时,详细信息区域将扩大,因此文本将显示在一个巨大的列中,而第二列可能显示几行。

这是我到目前为止所做的:

  • 创建一个子报表来处理文本并将其包含在我的主报告的某些详细信息栏中
  • 将子报表分为3列,并垂直显示
  • 在第一列上输入文本字段,将“文本调整为StretchHeight”

同样,当主报表的明细栏不能扩展太多时,这很好用,因为文本字段将在其他列上溢出。我的想法是为明细栏和/或文本字段定义某种最大高度,以使文本被迫拆分而不必到达页面底部。

我尝试通过以下方式设置明细区域和子报表的高度:

JasperDesign design = JRXmlLoader.load(jrXmlInputStream);
JRBand[] detailBands = design.getDetailSection().getBands();
JRDesignBand mentionBand = (JRDesignBand) detailBands[detailBands.length - 1];

mentionBand.setHeight(110);

JRDesignSubreport mentionSubreport = (JRDesignSubreport)mentionBand.getElementByKey("mentions");
mentionSubreport.setHeight(100);

它不起作用。我的猜测是,如果内容的大小不足以溢出,那么它实际上为带/子报表定义了某种最小高度,而不是固定或最大高度。我也尝试过使用“ Stretch Type”属性,但没有成功。

如何为明细带定义最大或固定高度?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...