|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 12 ![]() |
Bonjour,
J'ai défini un modèle qui contient un sous-modèle qui est référencé sous le type "net.sf.jasperreports.engine.JasperReport" : <subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{SUBREPORT_DIR}]]></subreportExpression> Le problème que j'ai c'est sous iReport, je ne sais pas comment valoriser le paramètre "SUBREPORT_DIR" pour qu'il me créé un objet de type JasperReport. Si quelqu'un peut m'aider ou peut m'affirmer que ce n'est pas possible, en tout cas merci par avance!!! |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() ![]() Inscription : avril 2007 Messages : 195 ![]() |
Salut,
Je ne suis pas sûr de comprendre pourquoi tu veux utiliser un objet de type "net.sf.jasperreports.engine.JasperReport" en tant que paramètre? N'y-a-t-il pas moyen pour toi de transmettre plutôt une chaine de caractères indiquant l'emplacement de ton sous-rapport? Si tu mets "java.lang.String" au lieu de "net.sf.jasperreports.engine.JasperReport", la librairie tentera de voir si cela correspond à une URL, sinon elle cherchera dans le système de fichiers avant de chercher dans le CLASSPATH une ressource ayant ce nom. Finalement, si elle ne trouve rien, elle lancera une exception (ce qui en général arrive rarement à moins d'y mettre de la mauvaise volonté J'espère que ça t'aidera à résoudre ton problème. Cordialement, *************************** Christopher Andre Technical Support Engineer, EMEA JasperSoft Corporation |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 12 ![]() |
J'ai trouvé une solution intermédiaire, mais qui fonctionne sous iReport.
Le principe c'est de valoriser le paramètre avec une valeur par défaut qui utilise la méthode loadObjectFromLocation de la classe net.sf.jasperreports.engine.util.JRLoader. Exemple : net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation("C:/toto.jasper") Côté fichier JRXML : <parameter name="SUBREPORT_DIR" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"> <defaultValueExpression> <![CDATA[net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation("C:/toto.jasper")]]> </defaultValueExpression> </parameter> Ainsi le paramètre sera de type "net.sf.jasperreports.engine.JasperReport" et non pas de type String ou de type URL ce qui peut se faire aussi. Sinon pour répondre à la question précédente de "candre", c'est qu'au niveau du développement, les objets manipulés sont de type "JasperReport". Et le principe c'est de faire aucune modification côté DEV avec la possiblité de tester les modèles sous iReport. Ce qui est possible !!! Merci à tous |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 98 ![]() |
Bonjour,
Etant donné que tu as l'air de connaitre jaspersoft, pourait tu m'expliquer la différence entre jasperReport et iReport Merci d'avance. |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() ![]() Inscription : avril 2007 Messages : 195 ![]() |
Salut,
JasperReports est une librairie Java open-source de génération de rapports. iReports est l'outil WYSIWYG associé à cette librairie pour créer des "templates" pour ces rapports: il génère des fichiers XML qui peuvent ensuite être lus et remplis par JasperReports pour créer des rapports. Cordialement, *************************** Christopher Andre Technical Support Engineer, EMEA JasperSoft Corporation |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com