As explained in our previous article, the XML definition file for a JasperReports report is called a JRXML file. The JRXML file for our database report is defined as follows:
<?xml version="1.0"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="Database_Report">
<field name="course_cd" class="java.lang.String"
/>
<field name="course_nm" class="java.lang.String" />
<field name="first_nm" class="java.lang.String" />
<field name="last_nm" class="java.lang.String" />
<detail>
<band height="20">
<textField>
<reportElement x="10" y="0" width="600" height="20" />
<textFieldExpression class="java.lang.String">
<![CDATA[$F{course_cd}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="80" y="0" width="200" height="20" />
<textFieldExpression
class="java.lang.String">
<![CDATA[$F{course_nm}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="280" y="0" width="200" height="20" />
<textFieldExpression
class="java.lang.String">
<![CDATA[$F{first_nm}]]> + " " + <![CDATA[$F{last_nm}]]>
</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
Relevant sections of the JRXML file for database reporting are shown
in bold. The name of the <field>
elements must
map database columns in the query used to gather data for the report.
The class
attribute of the <field>
elements must correspond to the appropriate class of the data in the
result set for the query.
These fields are then accessed using the $F{fieldName}
syntax inside the <textFieldExpression>
elements, as
shown in the example above. The generated report will have a line for
each row returned in the query.