您忘记将您的自定义样式应用于textField。
正确的片段是:
<textField>
<reportElement style="blueStyle" x="178" y="94" width="157" height="17"/>
<textElement>
<font fontName="Arial" size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$P{INDIRIZZO}]]></textFieldExpression>
</textField>
我的工作样本:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="conditional_styl" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<style name="style1" forecolor="#66FF66" backcolor="#009966">
<conditionalStyle>
<conditionExpression><![CDATA[$P{parameter1}.length() < 2]]></conditionExpression>
<style forecolor="#FFCC00"/>
</conditionalStyle>
</style>
<parameter name="parameter1" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT DOCUMENTID FROM POSITIONS]]>
</queryString>
<field name="DOCUMENTID" class="java.lang.Integer"/>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement style="style1" x="0" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{DOCUMENTID}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
与fontSize的修改另一个工作示例:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="conditional_styl" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<style name="style1" fontSize="6">
<conditionalStyle>
<conditionExpression><![CDATA[$F{DOCUMENTID} % 2 == 0]]></conditionExpression>
<style fontSize="8"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{DOCUMENTID} % 3 == 0]]></conditionExpression>
<style fontSize="10"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{DOCUMENTID} % 5 ==0]]></conditionExpression>
<style fontSize="12"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{DOCUMENTID} % 7 ==0]]></conditionExpression>
<style fontSize="14"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{DOCUMENTID} % 11 ==0]]></conditionExpression>
<style fontSize="16"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{DOCUMENTID} % 13 ==0]]></conditionExpression>
<style fontSize="18"/>
</conditionalStyle>
</style>
<queryString>
<![CDATA[SELECT distinct DOCUMENTID FROM POSITIONS]]>
</queryString>
<field name="DOCUMENTID" class="java.lang.Integer"/>
<detail>
<band height="34" splitType="Stretch">
<textField>
<reportElement style="style1" x="0" y="0" width="100" height="34"/>
<textElement/>
<textFieldExpression><![CDATA[$F{DOCUMENTID}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
什么都没有发生。我使用iReport进行了测试。这是原因吗?要检查iReport是否正确地评估了条件,我使用了它,例如文本字段,如:\t \t \t \t<![CDATA [$ P {INDIRIZZO} .length()> 30 ? “VERO”:“FALSO”]]> textFieldExpression> –
我刚刚在我的文章中添加了示例。你可以试试这个示例与演示数据库内置在iReport –
是的,你可以测试报告与iReport –