お世話になります。
JasperReportsにて、エラーの原因が分からずに出力に失敗してしまいます。
実施している作業としては、現在使用している帳票に、項目を追加して印刷したいと思っております。
(現行は正常に稼働しています。)
その為、新たに追記した点について不備があるのは明らかなのですが、その特定ができず、、
アドバイスや指摘などご教示頂けたらと思います。
実施したい内容としては以下になります。
①DBからフラグの値を取得し、分岐
SELECT ~ ,flg AS flg ,IF( flg = 1 ,'○' ,'×' ) AS hoge
②宣言部分
<field name="flg" class="java.lang.Boolean"/>
③フラグの値でデザインを分岐
<rectangle> <reportElement key="" x="0" y="300" width="400" height="30" forecolor="#FFCC00" backcolor="rgba(255, 255, 255, 0.0)" uuid="hoge1"> <property name="com.jaspersoft.studio.unit.height" value="pixel"/> <printWhenExpression><![CDATA[$F{flg} == false]]></printWhenExpression> </reportElement> </rectangle> <staticText> <reportElement x="3" y="300" width="400" height="30" uuid="hoge2"> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> <printWhenExpression><![CDATA[$F{flg} == false]]></printWhenExpression> </reportElement> <textElement> <font size="6"/> </textElement> <text><![CDATA[フラグが0の時に出力]]></text> </staticText>
DBはMySQLを使用しています。
エラー内容は以下となっています。
```ここに言語を入力
Error evaluating expression for source text: new java.lang.Integer(1)
Integer(1)の部分についてですが、該当するソースではIntegerを使用していません。 また、このflgはDBではTINYINTで登録されていますが、JaspersoftのDatasetQuery?を用いたところ Boolean型で認識されるようなので宣言部分はBooleanで表記しています。 JapserReports初心者の為、説明など至らない部分が多くあると思いますが、 情報の不足などございましたらご指摘ください。 何卒、宜しくお願い致します。 追記:変更点については以下になります。 都合上、名称やサイズなどは代用しています。 ①SELECT文に追記 ```ここに言語を入力 SELECT ~ ,flg AS flg ,IF( flg = 1 ,'○' ,'×' ) AS hoge
②宣言
<field name="flg" class="java.lang.Boolean"/> <field name="hoge" class="java.lang.String"/>
③コンテンツ追加 1
<line> <reportElement x="0" y="250" width="400" height="1" forecolor="#DA0023" uuid="hoge1"> <property name="com.jaspersoft.studio.unit.height" value="pixel"/> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> <property name="com.jaspersoft.studio.unit.y" value="pixel"/> </reportElement> </line> ``````ここに言語を入力
④コンテンツ追加 2
<line> <reportElement x="60" y="250" width="1" height="15" forecolor="#DA0023" uuid="hoge2"> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> <property name="com.jaspersoft.studio.unit.height" value="pixel"/> </reportElement> </line> ``````ここに言語を入力
⑤コンテンツ追加 3 (ここで①のAS hogeを表示しています)
```ここに言語を入力
<staticText>
<reportElement x="0" y="250" width="50" height="15" uuid="hoge3">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement>
<font fontName="Meiryo" size="7"/>
</textElement>
<text><![CDATA[サンプルテキスト]]></text>
</staticText>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="60" y="250" width="125" height="15" uuid="hoge4"/>
<textElement>
<font fontName="Meiryo" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{hoge}]]></textFieldExpression>
</textField>
⑥コンテンツ追加 4 ```ここに言語を入力 <rectangle> <reportElement key="" x="0" y="300" width="400" height="30" forecolor="#FFCC00" backcolor="rgba(255, 255, 255, 0.0)" uuid="hoge5"> <property name="com.jaspersoft.studio.unit.height" value="pixel"/> <printWhenExpression><![CDATA[$F{flg} == false]]></printWhenExpression> </reportElement> </rectangle> <staticText> <reportElement x="3" y="280" width="400" height="25" uuid="hoge6"> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> <printWhenExpression><![CDATA[$F{flg} == false]]></printWhenExpression> </reportElement> <textElement> <font size="6"/> </textElement> <text><![CDATA[フラグが0の時に表示する]]></text> </staticText>
その他の差分としては編集日時が変わったという程度のものなので記載はしておりません。
宜しくお願い致します。