天天看点

iReport 巧用样式

1、window--Style library -- 右键 add  添加style ,设置好了之后。再右键Add Style To Report,然后选中field 时,要style属性中选择自定的样式即可。

右击style 选择“添加”—“Style” , 可以在属性中设置style的各种属性,也可以默认不改;

2、右击style 选择“添加Conditional Style”,添加在各种情况下设置不同的style属性,右击每个Conditional Style 选择“Edit Condition”为每个Condition Style 设置触发条件,比如 $F{username}.length()>10,设置字体Forecolor颜色和大小,其它可以默认即可。

3、在field的style上引用新建style1样式。

4、如果引用样式没有效果,那是style1样式与本来field 的字体大小冲突,还得在xml中删除 field的字体大小。

如下 field  删除 字体大小 size="13",style="style1"引用样式。

 <textField isStretchWithOverflow="true" isBlankWhenNull="true">
    <reportElement uuid="1e7d3883-9d23-4013-a964-341f71555ca1" style="style1" stretchType="RelativeToTallestObject" x="69" y="120" width="486" height="491"/>
    <box>
     <rightPen lineWidth="0.75"/>
    </box>
    <textElement>
     <font fontName="仿宋" size="13" isStrikeThrough="false" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/>
    </textElement>
    <textFieldExpression><![CDATA["    "+$F{GRCS}]]></textFieldExpression>
   </textField>
           

6、样式xml

<style name="style1">
		<conditionalStyle>
			<conditionExpression><![CDATA[$F{GRCS}.length()<=2000 && $F{GRCS}.length()>1500]]></conditionExpression>
			<style fontName="仿宋" fontSize="10"/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$F{GRCS}.length()<=1500 && $F{GRCS}.length()>1000]]></conditionExpression>
			<style fontName="仿宋" fontSize="12"/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$F{GRCS}.length()<=1000]]></conditionExpression>
			<style fontName="仿宋" fontSize="13"/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$F{GRCS}.length()>2000]]></conditionExpression>
			<style fontSize="9"/>
		</conditionalStyle>
	</style>
           

注:可以设定不同的Condition Style,让报表元素可以根据不同的条件显示不同的状态(控制颜色显示)

用报表去对比不同的数据时,可以使用这个功能,方便将不一致的地方自动根据设定好的条件,用不同的颜色或者其它形式显示出来;

一份报表可以设定多个不同的Style,在给报表的每个元素赋予不同的Style,来达到控制显示的效果;