0

レポートのすべての「セル」/要素/オブジェクトに適用されるスタイルを作成する必要があります。各フィールド/変数の条件を作成する以外にこれを行う方法はありますか?

以下のコードを使用した簡単な例では、Col1..Col5 が 0 をテストし、背景を青にするか、白のままにする条件付きスタイルを作成します。この例では、5 つの条件を作成することは大したことではありませんが、レポートでは 60 を処理しています。

<?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="report4a" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="fe23f2e2-ee8e-403b-b870-7785fe8941a6">
    <queryString>
        <![CDATA[select 1 as col1, 0 as col2, 2 as col3, 0 as col4,  10 as col5 from dual 
        union
        select 4 as col1, 0 as col2, 7 as col3, 1 as col4,  12 as col5 from dual 
        union 
        select 5 as col1, 0 as col2, 8 as col3, 0 as col4,  16 as col5 from dual 
        union
        select 0 as col1, 0 as col2, 0 as col3, 1 as col4,  110 as col5 from dual
        union
        select 7 as col1, 0 as col2, 7 as col3, 0 as col4,  180 as col5 from dual 
        union 
        select 0 as col1, 0 as col2, 0 as col3, 1 as col4,  107 as col5 from dual ]]>
    </queryString>
    <field name="COL1" class="java.math.BigDecimal"/>
    <field name="COL2" class="java.math.BigDecimal"/>
    <field name="COL3" class="java.math.BigDecimal"/>
    <field name="COL4" class="java.math.BigDecimal"/>
    <field name="COL5" class="java.math.BigDecimal"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <columnHeader>
        <band height="20" splitType="Stretch">
            <staticText>
                <reportElement uuid="077997f5-c89c-4fdf-b89e-aa43b7cf77e3" x="0" y="0" width="111" height="20"/>
                <textElement/>
                <text><![CDATA[COL1]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="1421164b-ba30-4104-bf62-1e75dd04f757" x="111" y="0" width="111" height="20"/>
                <textElement/>
                <text><![CDATA[COL2]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="03802088-f5b9-4412-aae7-64ec6c54c4c3" x="222" y="0" width="111" height="20"/>
                <textElement/>
                <text><![CDATA[COL3]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="b44d853c-0ea5-49ea-8420-e4c40d65c3c3" x="333" y="0" width="111" height="20"/>
                <textElement/>
                <text><![CDATA[COL4]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="25534117-80fa-43ee-b90c-f150d4b8e0e0" x="444" y="0" width="111" height="20"/>
                <textElement/>
                <text><![CDATA[COL5]]></text>
            </staticText>
        </band>
    </columnHeader>
    <detail>
        <band height="20" splitType="Stretch">
            <textField>
                <reportElement uuid="8cffe1bc-e06b-48ec-96fc-a3464687a883" x="0" y="0" width="111" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL1}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="03ec79ef-9614-4929-b464-450b9b9e8a80" x="111" y="0" width="111" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL2}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="79a5d64c-18b4-4a58-89c7-d72de8072759" x="222" y="0" width="111" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL3}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="6a5606ff-0f1a-4dec-a494-90c493c794a0" x="333" y="0" width="111" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL4}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="c2c5f7b1-4d70-49a8-8745-f9337d07457b" x="444" y="0" width="111" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL5}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>
4

1 に答える 1