下面列出了<jasperReporot>根元素的全部子元素。
<property>
此元素用来给报表模板添加任意的信息。
<property name="someproperty" value="somevalue"/>
加裁了报表的Java应用程序通过调用JasperReport.getProperty()方法可以载入这些属性。JRXML模板可以包含零个或多个<property>元素。
<import>
此元素用于导入个别的Java类或完整的包。
<import value="java.util.HashMap"/>
JRXML模板可以包含零个或多个<import>元素。
<reportFont>
此元素用来定义一个或多个字体,这些字体可用于报表中显示的文本。
<reportFont name="Arial" isDefault="true" fontName="Arial" size="12"
isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false"
pdfFontName="Helvetica" pdfEncoding="CP1252" isPdfEmbedded="false"/>
JRXML模板可以包含零个或多个<reportFont>元素。
<parameter>
此元素用于定义报表参数,参数值通过调用JasperReports API中的相应方法以java.uitl.Map来提供。
<parameter name="SomeParameter" class="java.lang.String"/>
JRXML模板可以包含零个或多个<parameter>元素。
<queryString>
此元素用于定义从数据库获取数据的SQL查询。
<queryString>
<![CDATA[SELECT column_name FROM table_name]]>
</queryString>
JRXML模板可以包含零个或一个<queryString>元素。如果我们希望把SQL查询嵌入到报表模板中,必需使用此元素。
<field>
此元素用于把从数据源或查询获取的数据映射到报表模板。Field可以嵌入到报表表达式中,从而获得所需的输出。
<field name="FieldName" class="java.lang.String"/>
JRXML模板可以包含零个或多个<field>元素。
<variable>
报表中多次使用的表达式可以赋值给变量,从而简化模板。
<variable name="VariableName" class="java.lang.Double" calculation="Sum">
<variableExpression>
$F{FieldName}
</variableExpression>
</variable>
JRXML模板可以包含零个或多个<variable>元素。
<group>
此元素用于对连续的纪录进行分组,分组的依据是数据源的一些共同特征。
<group name="GroupName">
<groupExpression>
<![CDATA[$F{FieldName}]]>
</groupExpression>
</group>
JRXML模板可以包含零个或多个<group>元素。
<background>
此元素定义页的背景,它对报表的所有页有效。它可以显示图片、文本或水印。
<background>
<band height="745">
<image scaleImage="Clip" hAlign="Left" vAlign="Bottom">
<reportElement x="0" y="0" width="160" height="745"/>
<imageExpression>"image.gif"</imageExpression>
</image>
</band>
</background>
JRXML模板可以包含零个或一个<background>元素。
<title>
这是报表的标题,它只在报表起始处显示一次。
<title>
<band height="50">
<staticText>
<reportElement x="180" y="0" width="200" height="20"/>
<text>
<![CDATA[Title]]>
</text>
</staticText>
</band>
</title>
JRXML模板可以包含零个或一个<title>元素。
<pageHeader>
此元素定义页眉,它在报表每一页的起始处打印。
<pageHeader>
<band height="20">
<staticText>
<reportElement x="180" y="30" width="200" height="20"/>
<text>
<![CDATA[Page Header]]>
</text>
</staticText>
</band>
</pageHeader>
JRXML模板可以包含零个或一个<pageHeader>元素。
<columnHeader>
如果报表只有一列,些元素将被忽略掉。
<columnHeader>
<band height="20">
<staticText>
<reportElement x="180" y="50" width="200" height="20"/>
<text>
<![CDATA[Column Header]]>
</text>
</staticText>
</band>
</columnHeader>
JRXML模板可以包含零个或多个<columnHeader>元素,模板中<columnHeader>元素的数量必需和列数相同。
<detail>
此元素定义报表的详情段,报表数据源的每条纪录都会重复地使用它。
<detail>
<band height="20">
<textField>
<reportElement x="10" y="0" width="600" height="20"/>
<textFieldExpression class="java.lang.String">
<![CDATA[$F{FieldName}]]>
</textFieldExpression>
</textField>
</band>
</detail>
JRXML模板可以包含零个或一个<detail>元素。大多数据报表模板只包含一个<detail>元素,因为通常情况下,这是显示报表主要数据的地方。
<columnFooter>
如果报表只有一列,此元素将被忽略掉。
<columnFooter>
<band height="20">
<staticText>
<reportElement x="0" y="0" width="200" height="20"/>
<text>
<![CDATA[Column Footer]]>
</text>
</staticText>
</band>
</columnFooter>
JRXML模板可以包含零个或多个<columnFooter>元素,模板中<columnFooter>元素的数量必需和列数相同。
<pageFooter>
此元素定义页脚,它在报表每一页的末尾处打印。
<pageFooter>
<band height="20">
<staticText>
<reportElement x="0" y="5" width="200" height="20"/>
<text>
<![CDATA[Page Footer]]>
</text>
</staticText>
</band>
</pageFooter>
JRXML模板可以包含零个或一个<pageFooter>元素。
<lastPageFooter>
此元素定义的数据显示在最后一页的页脚,取代<pageFooter>元素的页脚定义。
<lastPageFooter>
<band height="20">
<staticText>
<reportElement x="0" y="5" width="200" height="20"/>
<text>
<![CDATA[Last Page Footer]]>
</text>
</staticText>
</band>
</lastPageFooter>
JRXML模板可以包含零个或一个<lastPageFooter>元素。
<summary>
它仅在报表末尾打印一次。
<summary>
<band height="20">
<staticText>
<reportElement x="0" y="5" width="200" height="20"/>
<text>
<![CDATA[Summary]]>
</text>
</staticText>
</band>
</summary>
JRXML模板可以包含零个或一个<summary>元素。
和<detail>元素一样,前面讨论的其它的每个元素也都包含一个单独的<band>元素作为其子元素。