iReport/Subreport again

ROCKSCHTAR

Grünschnabel
Hi @all
Ich bin neu hier im Forum und möchte mich erstmal kurz vorstellen:
Bin Martin(19), komme Thüringen (Eichsfeld) und mache eine Ausbildung zum Fachinformatiker für Anwendungsentwicklung.

Nun zu meinem Problem:
Ich hab schon alles zum Thema Subreports durchforstet, aber anscheinend bin ich zu dumm dafür, das zu verstehen.

Also:
Ich soll für meine Firma einen Serienbriefdruck erstellen. Das funktioniert, solange ich nur mit einem MainReport arbeite. Wenn ich einen Subreport einfügen will, wird dieser nicht einmal angezeigt (auch nicht der statische Text).

Hier mein Programmcode:
Code:
package Subreport;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRMapCollectionDataSource;
import net.sf.jasperreports.engine.util.JRLoader;

public class PDF_Erzeuger 
{
	public void erstellePDF() throws JRException
	{
		try 
		{
			JasperPrint JasperPrint;
			JasperReport MainReport;
			JasperReport Subreport;

                        InputStream xMainReportStream = new FileInputStream( "MainReport.jasper");
			MainReport = (JasperReport)JRLoader.loadObject(xMainReportStream);
			
			InputStream xSubreportStream = new FileInputStream( "Subreport1.jasper");
			Subreport = (JasperReport)JRLoader.loadObject(xSubreportStream);

                        HashMap< String, Object > HashMapMitParameterFuerMainReport = new HashMap<String, Object>();
			HashMapMitParameterFuerMainReport.put( "Parameter", "Das ist ein Test-PARAMETER" );

                        HashMap< String, Object > SubreportParameterMap = new HashMap< String, Object >();
			SubreportParameterMap.put( "Feld1", "Feld1 im Subreport" );
			SubreportParameterMap.put( "Feld2", "FELD" );

                        HashMap< String, Object > Subreportdaten = new HashMap< String, Object >();
			Subreportdaten.put( "Subreport", Subreport );
			Subreportdaten.put( "SubreportParameterMap", SubreportParameterMap );

                        ArrayList< HashMap< String, Object > > Hauptreportdatenquellen_HashMap = 
				new ArrayList< HashMap< String,Object > >();
			Hauptreportdatenquellen_HashMap.add( Subreportdaten );

                        JRMapCollectionDataSource JRMapCollection = 
				new JRMapCollectionDataSource( Hauptreportdatenquellen_HashMap );

                       JasperPrint = JasperFillManager.fillReport(
					MainReport, 
					HashMapMitParameterFuerMainReport, 
					JRMapCollection );

                       JasperExportManager.exportReportToPdfFile( JasperPrint, "report.pdf" );

                      	}
		        catch (Throwable xTh)
		        {
			         xTh.printStackTrace();
		        }
	    }
}

Im Anhang sollte der MainReport und der Subreport liegen.

Ich hoffe es kann mir jemand helfen,
Gruß
Rockschtar
 

Anhänge

  • MainReport.txt
    3,9 KB · Aufrufe: 118
  • Subreport1.txt
    3 KB · Aufrufe: 90
Adressetiketten generieren mit iReport

Hallo,
ich habe einen iReport Bericht für die Etikettenvorlage von Avery Zweckform Vorlage 3490 erstellt und kann bereits auf den Etikett bögen von Zweckform die Adressetiketten drucken. Gibt es eine Möglichkeit im iReport einzustellen dass beim Erstellen der Etiketten der Startpunkt fürs Drucken ausgewählt werden kann? Oder beim nächsten Etikett seit letztem Druckvorgang weiter gedruckt wird. Es sind 24 kleine Etiketten auf einem DIN A4 Bogen. Ist es möglich z.B beim Drucken das Startetikett auszuwählen um nicht immer ein neues Blatt einlegen zu müssen.

Beste Grüße
Andi
 
Zurück