将对象显示为列表组件内的图像

时间:2011-02-28 03:43:24

标签: jasper-reports ireport

问题

我必须根据特定计数(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>

谢谢。

2 个答案:

答案 0 :(得分:2)

在jasper中,您可以通过放置当前图像位置而不是varible intNote来显示图像。这是在输出中获取图像的唯一可能方式。

答案 1 :(得分:1)

尝试将$ F {strVert}类设为java.io.InputStream