Sous-rapports dans les Rapports Jasper
J'ai deux tables à être imprimé dans la même page. Les données de ces tables seront livrés à partir d'une carte à partir d'une source de données personnalisée. J'ai besoin de la mettre en œuvre. J'ai googlé pour la mise en œuvre de cette tâche.
À l'époque, je suis tombé sur des sous-rapports concept, mais je n'ai pas beaucoup d'info pour savoir comment mettre en œuvre des sous-rapports.
J'ai une idée de comment créer des sous-rapports. Mais je ne sais pas comment remplir les sous-rapports avec customdatasource. C'est ma question. Merci de m'aider dans la réalisation de cet.
Note: j'ai essayé de mettre en œuvre des sous-rapports, mais j'obtiens une erreur. Voici le code que j'ai utilisé pour la compilation des sous-rapports:
JasperPrint print = new JasperPrint();
JRPdfExporter exporter = new JRPdfExporter();
JasperDesign design, design1;
JasperReport report, report1;
JasperReport jasperReport;
JasperDesign jd1;
jd1 = JRXmlLoader.load("D:\\sub_report1.jrxml");
jasperReport = JasperCompileManager.compileReport(jd1);
Map parameters = new HashMap();
parameters.put("ReportTitle", "Table Report");
parameters.put("DataFile", "TableSource.java");
parameters.put("Subreport_1", jasperReport);
design = JRXmlLoader.load("D:\\sub_report2.jrxml");
report = JasperCompileManager.compileReport(design);
parameters.put("Subreport_2", report);
design1 = JRXmlLoader.load("D:\\master_report.jrxml");
report1 = JasperCompileManager.compileReport(design1);
JasperFillManager.fillReportToFile(report1, "D:\\master_report.jrprint", parameters, new TableDataSource());
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "D:K\\Report.pdf");
exporter.exportReport();
JasperViewer.viewReport(print);
Ici, j'ai compilé subreport1
& subreport2
individuellement et les ajouter en tant que paramètre de la carte. Puis j'obtiens une erreur lors du remplissage à travers masterreports. Merci de m'aider à compiler le rapport.
Trace de la pile de l'erreur de compilateur:
Exception in thread "main" net.sf.jasperreports.moteur.JRRuntimeException: Unkown de l'ordre d'impression 0.
au net.sf.jasperreports.moteur.de remplissage.JRFillSubreport.initSubreportFiller(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRFillSubreport.evaluateSubreport(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRFillSubreport.évaluer(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRFillElementContainer.évaluer(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRFillBand.évaluer(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRVerticalFiller.fillColumnBand(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRVerticalFiller.fillDetail(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRVerticalFiller.fillReportStart(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRVerticalFiller.fillReport(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRBaseFiller.de remplissage(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRBaseFiller.de remplissage(Source Inconnue)
au net.sf.jasperreports.moteur.de remplissage.JRFiller.fillReport(Source Inconnue)
au net.sf.jasperreports.moteur.JasperFillManager.fillReport(Source Inconnue)
au net.sf.jasperreports.moteur.JasperFillManager.fillReportToFile(Source Inconnue)
au ReportTableCompiler.principale(ReportTableCompiler.java:53)
- Tous les tutoriels de Jasper Reports sont payés. Donc, vous ne pourriez pas obtenir de bonnes ressources pour la gratuit. Vous pourriez avoir besoin de vérifier dans google pour de l'aide. Ici, la question doit être spécifique.
- ce n'est pas vrai. JaspertReports, étant open source, a un certain nombre de didacticiels gratuits.
- J'ai modifié ma question , u peut comprendre maintenant
- J'ai eu le problème maintenant. Vous souhaitez générer des Rapports en utilisant le code Java..
- Bien sûr. J'ai ces tutoriels. Mais l'information donnée sur les tutoriels, est très limitée. J'ai la version payante de tutoriels aussi. Je peux voir une différence majeure entre ces deux livres.
- Purusotham: oui.. j'ai besoin de remplir des sous-rapports à travers le code java
Vous devez vous connecter pour publier un commentaire.
J'ai posté la réponse à la question similaire. Vous pouvez vérifier la réponse ici.
À l'aide de iReport avec eclipse pour générer des rapports approperly
Si vous avez une seule bande de détail et votre subreportExpression est quelque chose comme "SUBREPORT_1.jasper", vous pouvez l'utiliser pour compiler plusieurs sous-états
Sous les rapports sont comme tous les autres rapports. Ils ont leur propre fichier JRXML et utiliser ses propres sources de données. Vous pouvez appeler le sous-état, seul ou à l'intérieur d'un rapport maître, à l'aide de la sous-rapport de l'outil. La source de données dans ce cas est spécifiée dans le maître JRXML, le sous-rapport de dialogue propriétés, Sous-onglet, et il est différent du rapport du maître de la source de données.
Je ne comprends pas complètement ce que vous essayez de faire, mais vous pouvez également fournir des paramètres pour le sous-rapport, de sorte qu'il filtre ses données basé sur la ligne de la table maître.