JasperReport动态页面的设置

使用工具为 TIBCO Jaspersoft Studio-6.19.0

JasperReport实现动态报表主要分为几个方面。
1、元素高度的动态变化,也就是字数过多时候,会自动往下移动。
2、位置的动态变化,当高度是动态的时候,高度的动态变化也是必然需要的。
3、动态显示某个区域的问题,例如当没有优惠券的时候,我们是不需要显示优惠券这一块区域的。
接下来我会进行说明。

一、高度变化
Text Fileld的高度自动调节

在使用Parameters去接收参数的时候,我们不确定输入的参数长度是多少,这样子我们就需要去动态的调整高度,以让内容全部显示出来。

默认的我们的Text Adjust的属性默认为CutText。意思很直白,就是多余的字段会直接剪掉。我们需要调整为stretchHeight,意思是高度是动态的,另外一个ScaleFont,翻译一下我们就知道,这个是缩放字体的意思,只不过缩放字体有时候还是会放不下需要展示的内容。

调整如图所示:
在这里插入图片描述
测试结果如下图
在这里插入图片描述
在这里插入图片描述

二、位置的动态调整

位置的调整在Position type里面。选择Float就可以了,这样子位置就移动了。
不过需要注意的是,上下两个元素的位置不能重合,不然的话,float就会失效。

在这里插入图片描述
不使用float的时候,高度变化就会出现这种情况
在这里插入图片描述

在这里插入图片描述

三、动态显示某块区域

单个Parameters可以使用 Blank When NULL,意思是里面值为空的时候不显示,不然的话会显示null。当里面有部分静态元素时,可以使用**Print When Expression **,使用上Remove Line When Blank则会移除掉空行。

Print When Expression需要填充一个Boolean值,如果为真,则显示这块区域,如果为假,则不显示,jasperReport的Boolean写法是这样子的Boolean.TRUE。Remove Line When Blank的意思则是为空的时候,移除掉改行,配合位置Float类型,可以让元素往上面移动。

举个栗子

1、先建立一个Parameter,flag。

在这里插入图片描述

2、把元素拉入Detail里面,并加入Static text

在这里插入图片描述

3、调整显示

把参数的Blank with null勾上,钩上remove line when blank
在这里插入图片描述
静态元素写上print when expression的表达式,钩上remove line when blank

($P{flag}== null ||$P{flag}  =="") ? Boolean.FALSE : Boolean.TRUE
4、下一段的语句选择float

让我们来看一下效果
当flag不为空时:
在这里插入图片描述

当flag为空时:

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值