XML除以1000

时间:2015-02-16 14:09:34

标签: jasper-reports

当我尝试将文本字段除以1000时,我遇到了麻烦。目前它已设置为毫米,但我需要将其设置为米。我认为通过将文本字段除以1000它会执行此操作,但它会引发以下错误。

There was an exception while running the report 
An exception occurred while creating a report. 
root-cause=class groovy.lang.MissingMethodException/No signature of method: java.lang.String.div() 
is applicable for argument types: (java.lang.Integer) values: [1000]"

XML的代码如下:

<textFieldExpression><![CDATA[$F{EquipmentLengthMm} /1000]]></textFieldExpression>

我想我可能需要一个变量表达式来完成这个?

1 个答案:

答案 0 :(得分:0)

您是在iReport中编写此内容还是手动创建jrxml?如果该字段的类型为integer,那么EquipmentLengthMm / 1000应该是有效的表达式。

您可以将报告默认脚本语言从groovy更改为java或javascript,以便使用您最熟悉的内容。如果您在树的顶层选择报告并查看属性,则可以在那里看到语言。

编辑 - 以下在Groovy中对我来说很好,但在Java中没有,我想由于类型转换错误。如果你有兴趣,这是我的xml。注意数字字段默认为大十进制而不是整数(至少使用oracle):

<?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="test_UTC_conv" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="d86eb2f0-88fe-4b24-8f1e-3de8dc4116a4">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <queryString>
        <![CDATA[select 1 as col1
from dual
]]>
    </queryString>
    <field name="COL1" class="java.math.BigDecimal"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="79" splitType="Stretch"/>
    </title>
    <detail>
        <band height="20" splitType="Stretch">
            <staticText>
                <reportElement uuid="9c3a86a8-43d4-45df-bbcf-9877cc60f8d1" x="23" y="0" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[COL1]]></text>
            </staticText>
            <textField>
                <reportElement uuid="12b0d8a4-78a6-44ca-ad0a-a663e00a4e45" x="123" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL1}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="10f0849d-bf16-48b0-b7c9-a1ef3c141638" x="223" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL1}/1000]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="49e2363e-a693-4f4e-aa77-3b168df302e5" x="307" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{COL1}/1000]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>