2012-01-06 19 views
12

JasperReports'ta yeni. IReport kullanarak bir rapor tasarlıyorum. Üç değerim var x, y, z. Eğer z < y ise, z> için veri rengi z> x ise, 'siyah' & olarak değiştirilmelidir, ardından z'nin veri rengi 'kırmızı' olarak değiştirilmelidir. Lütfen bana nasıl yapılacağını söyle.JasperReports koşuluna bağlı olarak metin alanı veri rengini değiştir (Ön plan rengi)

Masaüstü uygulaması geliştirmek için JDeveloper kullanıyorum. ve JasperReport tasarlamak için iReport.

cevap

13

Bu sorunu çözmek için Conditional styles kullanabilirsiniz.

örnek:

<style name="ZFieldStyle"> 
    <conditionalStyle> 
     <conditionExpression><![CDATA[$F{Z} < $F{Y}]]></conditionExpression> 
     <style forecolor="#000000"/> 
    </conditionalStyle> 
    <conditionalStyle> 
     <conditionExpression><![CDATA[$F{Z}>$F{X}]]></conditionExpression> 
     <style forecolor="#FF0000"/> 
    </conditionalStyle> 
</style> 
... 
<field name="X" class="java.lang.Integer"/> 
<field name="Y" class="java.lang.Integer"/> 
<field name="Z" class="java.lang.Integer"/> 
... 
<textField> 
    <reportElement style="ZFieldStyle" x="200" y="0" width="100" height="20"/> 
    <textElement/> 
    <textFieldExpression><![CDATA[$F{Z}]]></textFieldExpression> 
</textField> 
+0

Birkaç ek sorular. Nasıl olur da arka rengi ile aynı şeyi yapamam? Ayrıca, bunu yaptığımda hücre kenarlığı rengi de değişir ... bunu önlemek için bir yol var mı? –

+1

Arka renk özelliğini stilde kullanabilirsiniz –