我目前不确定为什么要运行我的示例模板,看不到任何文本。
<?xml version="1.0"?>
<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="SampleReport" pageWidth="798" pageHeight="1000">
<title>
<band height="50">
<staticText>
<reportElement x="0" y="0" width="180" height="15"/>
<textElement/>
<text>
<![CDATA[Sample Title]]>
</text>
</staticText>
</band>
</title>
<detail>
<band height="20">
<staticText>
<reportElement x="20" y="0" width="200" height="20"/>
<text>
<![CDATA[Sample Text]]>
</text>
</staticText>
</band>
</detail>
</jasperReport>
我使用了ant任务来像这样运行此测试。
<target name="viewDesignXML"
<java classname="net.sf.jasperreports.view.JasperDesignViewer"
fork="true">
<arg value="-XML" />
<arg value="-F${file.name}.jrxml" />
<classpath refid="classpath" />
</java>
</target>
这是Jasperreport 4.5和Eclipse 3.6
谢谢
最佳答案
您没有指定数据源,因此报告的原因为空。
您可以设置 whenNoDataType
(iReport中的When No Data
属性)报告属性,以显示“空”报告。
该属性的可能值为:
它。尝试加载此类文档时,查看者可能会抛出错误
(
whenNoDataType="NoPages"
)。 (
whenNoDataType="BlankPage"
)。 whenNoDataType="AllSectionsNoDetail"
)中。 (
whenNoDataType="NoDataSection"
)。 如果使用 noData 部分,则应将此带添加到报告的模板中(例如,在iReport的帮助下)。
当您使用如下Java代码时:
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
map, new JREmptyDataSource());
这意味着您正在传递空的数据源,换句话说,您没有传递数据源。
如果您没有传递数据源和数据库连接,则在报表中显示数据的唯一机会-是通过参数传递数据(或在报表模板中初始化参数)