Xposé sur Jasper Reports
Zones du rapport
Les différentes zones du rapport
Un rapport contient plusieurs zones prédéfinies. Chacune de ces zones a une fonctions particulière. Voici le découpage du rapport:

- title : apparait uniquement sur la première page
- pageHeader : entête de chaque page
- columnHeader : contient les titres des colonnes
- detail : contient le contenu des colonnes, c'est-à-dire chacun des enregistrements des champs utilisés
- columnFooter : bas de colonne, apparait après le détail, pour afficher par exemle des cumuls
- pageFooter : bas de page, apparait sur chaque page
- summary : informations concernant les données affichées dans le détail, comme par exemple un graphique synthétisant les données.
Utilisation dans le design
Comme on peut s'en douter, chaque élément doit faire partie d'une des zones prédéfinies. Voici comment sont déclarées les balises de zones:
<title> <band height="50" isSplitAllowed="true" > ... </band> </title> <pageHeader> <band height="10" isSplitAllowed="true" > ... </band> </pageHeader> <columnHeader> <band height="0" isSplitAllowed="true" > ... </band> </columnHeader> <detail> <band height="69" isSplitAllowed="true" > ... </band> </detail> <columnFooter> <band height="0" isSplitAllowed="true" > ... </band> </columnFooter> <pageFooter> <band height="27" isSplitAllowed="true" > ... </band> </pageFooter> <summary> <band height="0" isSplitAllowed="true" > ... </band> </summary>
La balise band permet de définir la taille de la zone. Tous les éléments de la zone doivent se situer entre les balises band.
Les groupes
Les groupes dans un design permettent de faire des regroupements de données qui répondent à une caractéristique commune et permettent d'afficher un entête et une fin de groupe. Un groupe est déclaré en dehors des zones. Voici un exemple :
<group name="VILLE" isStartNewColumn="false" isStartNewPage="false" isResetPageNumber="false" isReprintHeaderOnEachPage="false" > <groupExpression><![CDATA[$F{VILLE}]]></groupExpression> <groupHeader> <band height="25" isSplitAllowed="true" > ... </band> </groupHeader> <groupFooter> <band height="10" isSplitAllowed="true" > ... </band> </groupFooter> </group>