天天看點

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,來達到控制顯示的效果;