BI experience

Les styles d’iReport sous toutes ses coutures

| 1 Commentaire

Lors de la création d’un rapport, le choix s’offre à nous de personnaliser toujours plus la mise en page. Pour ce faire iReport nous propose soit de faire la modification directement dans les propriétés de l’objet, soit de créer des styles.

Ces styles pourront être réutilisés sur plusieurs objets d’un rapport rapidement et facilement avec une technique du drag and drop des différents styles sur ces objets.

Lors de la création de styles, le développeur pourra avoir deux approches :

  • soit il traitera de styles créés spécialement pour le rapport qu’il est en train de créer (dans le menu ci-dessous correspond à « style »)
  • soit pour une problématique d’uniformisation des styles des rapports, un template de style pourra être créé. (dans le menu ci-dessous correspond à « style reference »)

menu_style

Cas pratique: avec la base de données sugarcrm fournit dans ireport community, créez un rapport avec la requête suivante :

« SELECT user_name, last_name, title FROM users »

rapport

Prenons dans un premier temps le cas du style simple :

menu_style2

propriete_titre

Puis le cas d’un style conditionnel

conditional_style1

conditional_style2

style_prenom_result

Et voici le résultat

result_rapport

Comme nous l’avons mis plus haut afin d’uniformiser la pagination des rapports, iReport permet de créer des templates :

Outil >modeles>report>Style template

Si vous voulez plus de détails techniques, n’hésitez pas à aller voir dans JasperReports Ultimate Guide Third Edition p47

Exemple de styles créés dans le template (template.jrtx)

<?xml version= »1.0″ encoding= »UTF-8″?>
<!DOCTYPE jasperTemplate PUBLIC « -//JasperReports//DTD Template//EN » « http://jasperreports.sourceforge.net/dtds/jaspertemplate.dtd »>

<jasperTemplate>

<style name= »titre » isDefault= »false » mode= »Opaque » forecolor= »#FFFFFF » backcolor= »#003399″
scaleImage= »RetainShape » hAlign= »Center » vAlign= »Middle » rotation= »None » lineSpacing= »Single » markup= »styled »
fontSize= »10″ isBold= »false » isItalic= »false » isUnderline= »false » isStrikeThrough= »false »/>

<style name= »titre2″ isDefault= »false » mode= »Opaque » forecolor= »#003399″ backcolor= »#FFFFFF »
hAlign= »Center » vAlign= »Middle » rotation= »None » lineSpacing= »Single » markup= »styled » fontSize= »10″
isBold= »false » isItalic= »false » isUnderline= »false » isStrikeThrough= »false »/>

</jasperTemplate>

Dans le menu Fenêtre vous pourrez remarquer la présence d’une fenêtre appelée Styles Library.

Cette fenêtre permettrait de faire le lien avec ce fichier .jrtx (le template de style) présent sur le serveur : JasperServeur avec l’utilisation de ces styles en local.

En effet il faudrait juste copier-coller les styles créésdu template dans cette fenêtre pour avoir les styles en local lors de la création d’un nouveau rapport.

Si j’écris au conditionnel, c’est parce que cette fenêtre n’est pas encore utilisable en ces termes dans la version 3.6.0. D’après JasperSoft ce problème sera réglé dans la version 3.6.1. Soyons patients!

Voici donc une astuce pour voir les styles créés dans le template en local.

1) Insérer le template en faisant comme plus haut Style>Style reference en indiquant avec une adresse locale (du type : C:\montemplatedestyles.jrtx) le fichier que vous aurez créé au préalable en passant par le menu Outil > Modele >>report>Style template.

2) Ce fichier devra être aussi inséré dans JasperServer dans un dossier styles par exemple que vous aurez créé dans l’arborescence.

3) Lors de l’enregistrement du rapport sur le serveur il faudra remettre une adresse qui indiquera sa place dans le repository (du type : « repo: styles/montemplatedestyles.jrtx)

Et si ce rapport doit être repris par la suite en local avec iReport n’oubliez pas de jongler avec les deux types d’adresses :

  • C:\montemplatedestyles.jrtx (où l’on aura accès au style pour faire du drag and drop en local)

menu_style_ref

  • « repo: styles/montemplatedestyles.jrtx (ou lors de la compilation sur Jasperserver, ce dernier trouvera la référence à ces styles)

propriete_menu_style_ref2


L’utilisation des styles peut vraiment améliorer le temps de création d’un rapport, alors pour plus de productivité, n’hésitez pas à créer vos templates !

Un Commentaire

  1. Merci beaucoup! C’est exactement se que je cherchais!
    Bon début de matiné^^.
    Cordialement,

Laisser un commentaire

Champs Requis *.

*