-
[Report]IReport
Salut tout le monde
je veux utiliser ireport pour la génération de mes rapport dans une application java. Mais j'ai eu des problemes:
- Comment recuperer les donnée, qui vont être afficher sur le rapport, atravers mes propres java beans et non pas en utilisant un accées direct la base des données.
- Comment rendre les colones affichée dans mon rapport parametrables. c.a.d. donner a l'utilisateur la possibilité de choisir les colones qu'il veux voir dans le rapport?
Est ce que quelqu'un a rencontré ce genre des problemes et peut m'aider?
Est ce que ireport et jaspertreports sont les outils ideals pour aborder ce genre de pbs.
merci a tous.
-
Bonjour,
j'ai deja un peu utiliser ireport pour mes applications,
en réponse à la première question, il suffit de créer une net.sf.jasperreports.engine.JRDataSource qui contient une collection de bean.
En implémentant cette interface tu implémentes la méthode [public Object getFieldValue(JRField field) throws JRException], en fonction du champ du rapport qui t'es passé en paramètre, tu fais appel à la méthode du bean qui convient.
Pour la deuxième question, je n'ai jamais fais de rapport dynamique donc je ne saurais pas t'aider!
+++
vandoor
-
Salut
merci pour ta reponse.
Mais j'ai creer une classe qui implaimente l'interface net.sf.jasperreports.engine.JRDataSource , je l'ai mis dans jar et je l'ai ajouter au class path de ireport mais le pb que ireport ne la detecte pas.
il m'affiche un message d'erreur quand je veux me connecter a cette datasourse.
NoClassDefFoundError!!
Check your Classpath!
je sais si tu peux me dire ou mettre cette classe pour que ireport puisse la detecter?
merci
-
il suffit de créer la datasource manuellement et tu la passes au JasperRunManager :
public static void printPdf(InputStream jasperFile, OutputStream output, Map reportParams, JRDataSource ds) throws JRException {
JasperRunManager.runReportToPdfStream(jasperFile, output, reportParams, ds);
}
voila la façon dont je travail et ca fonctionne très bien
-
oui mais il faut tou d'abord créer le rapport avec ireport. comment faire pour laisser les paramettres?
-
tu n'es pas obligé de passer une data source à ton rapport quand tu le crées, il la génère lui même avec le select que tu lui fournis(connection/reportquery).
Tu crées ton rapport avec tes fields (qui correspondent aux champs de ton select) et tes params (qui sont les paramètres passé au JasperRunManager) et ensuite tu crées ta datasource contenant tes beans que tu passeras au rapport.
-
Salut
Merci bien vandoor pour ton aide.