当我尝试将文本字段除以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>
我想我可能需要一个变量表达式来完成这个?
答案 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>