我必须根据特定计数(intNote
)将对象显示为列表组件内的图像。使用特定位置的图像路径时,会显示图像。
如何在列表组件中将对象显示为图像?
JRXML:
<subDataset name="Q2">
<field name="strVert" class="java.awt.Image"/>
</subDataset>
<field name="intNote" class="java.lang.Integer"/>
<componentElement>
<reportElement x="130" y="72" width="25" height="35"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Horizontal" ignoreWidth="true">
<datasetRun subDataset="Q2">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource($F{intNote})]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="35" width="25">
<image isUsingCache="false">
<reportElement x="3" y="10" width="16" height="17" forecolor="#FFFFFF"/>
<graphicElement>
<pen lineWidth="1.25"/>
</graphicElement>
<imageExpression class="java.awt.Image"><![CDATA[$F{strVert}]]></imageExpression>
</image>
</jr:listContents>
</jr:list>
</componentElement>
谢谢。
答案 0 :(得分:2)
在jasper中,您可以通过放置当前图像位置而不是varible intNote来显示图像。这是在输出中获取图像的唯一可能方式。
答案 1 :(得分:1)
尝试将$ F {strVert}类设为java.io.InputStream