遇到一个问题:根据姓名的长度不同,需要设置不同的字号,如果是老外可能还要更改字体。
最后通过在iReport中建立conditional style 解决了。
设置如下:
1.右键 style-->添加-->style
2.选中当前的style,在属性面板更改其属性
name:style的名字
default style: 是否默认的style,如果选中的话则此style将做为默认的style。界面上的元素如果没有设置属性和上style属性没有设置为其它style时,则会默认按照default style设置该元素的属性。当有多个style存在时,只能又一个默认的style。
opaque:设置透明度。
其它的属性和设置field的属性一样。
3.右键 当前的style-->添加 conditional style
4.选中新建的conditional style,在属性面板中更改其属性
condition expression : 设置conditional style“工作”的条件,这个属性最重要,其它的属性和设置style的属性相同。
比如现在根据xm(姓名)field的长度设置是否应用当前的conditional style:
condition expression 的值:new Boolean($F{xm}.length()>4)
或 $F{xm}.length()>4?new Boolean(true):new Boolean(false)
JDK1.5及以上的版本也可以这么写:
$F{xm}.length()>4 或 $F{xm}.length()>4?true:false
5.在需要用的field或parameters的属性面板中设置其style为新建的style。