J'ai deux tableaux à imprimer sur la même page. Les données pour ces tables seront fournies à partir d'une carte à partir d'une source de données personnalisée. Je dois l'implémenter. J'ai googlé pour l'implémentation de cette tâche.Sous-rapports dans Jasper Rapports
A ce moment-là, je suis tombé sur un concept de sous-rapports, mais je n'ai pas beaucoup d'informations sur la façon de mettre en œuvre des sous-rapports.
J'ai une idée de la façon de créer des sous-rapports. Mais je ne sais pas comment remplir les sous-rapports avec customdatasource. C'est ma question. Aidez-moi s'il vous plaît à réaliser ceci.
Remarque: J'ai essayé d'implémenter des sous-rapports, mais j'obtiens une erreur. Voici le code j'ai utilisé pour la compilation subreports:
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 ajoutée comme paramètre sur la carte. Ensuite, je reçois une erreur lors du remplissage de masterreports. Aidez-moi s'il vous plaît à compiler le rapport.
trace de la pile de l'erreur du compilateur:
Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: Unkown print order 0. at net.sf.jasperreports.engine.fill.JRFillSubreport.initSubreportFiller(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(Unknown Source) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(Unknown Source) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(Unknown Source) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(Unknown Source) at net.sf.jasperreports.engine.JasperFillManager.fillReport(Unknown Source) at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(Unknown Source) at ReportTableCompiler.main(ReportTableCompiler.java:53)
Tous les tutoriels de Jasper Reports sont payés. Donc, vous pourriez ne pas obtenir de bonnes ressources gratuitement. Vous devrez peut-être vérifier dans google pour de l'aide. Ici, la question devrait être spécifique. –
ce n'est pas vrai. JaspertReports, étant open source, a un certain nombre de tutoriels gratuits. – Bozho
@Purushotham: J'ai modifié ma question, pouvez-vous comprendre maintenant – Karthikeyan