Arraylist eigener Klasse an iReport übergeben

dogano

Mitglied
Hallo Zusammen,

ich möchte einen Report mit iReport (JasperReports) generieren, der eine ArrayList eigener Klasse als Datenquelle haben soll (also keine Datenbank/kein SELECT).

Die eigene Klasse ist eine typische Objektbeschreibung mit GET- und SET-Methoden.

Der Code für den Report sieht wie folgt aus:

Java:
	try {
			jasperReport = JasperCompileManager.compileReport(source);
			jasperPrint = JasperFillManager.fillReport(jasperReport,
					jasperParameter, new JRBeanCollectionDataSource(list));
				JasperExportManager.exportReportToPdfFile(jasperPrint,
						exportPath);
		} catch (JRException e) {
			e.printStackTrace();
			success = false;
		}

Jetzt muss ich meinem Report aber irgendwie mitteilen dass er die ArrayList "meiner" Klasse benutzen soll. Hier komme ich nicht mehr weiter. Könnt ihr mir behilflich sein?

Liebe Grüße,

dogano
 

turtle

Top Contributor
Idee schon, habe aber gerade kein Beispiel (mehr) zur Hand.

Ich meine mich zu erinnern, das ich immer die Daten für einen Report per
Java:
JasperFillManager.fillReport(Map<String, Object> model)
übergeben habe. Leider kann ich nicht mehr beisteuern, sorry:oops:
 

dogano

Mitglied
hey, vielen Dank.
Ich glaube ich muss meine Frage etwas präzisieren: Es geht mir darum, dass auf iReport Seite ja meine Klasse bekannt sein muss, wenn ich eine ArrayList als Datenquelle übergebe. Meine Frage ist wie ich das anrichte?

Liebe Grüße,

dogano
 

anti-held

Bekanntes Mitglied
Exportiere dein Projekt in eine JAR-Klasse und füge sie zum Classpath von IReport hinzu.
(Extras - Optionen - iReport - Tab General - Reiter Classpath)

Dann kannst du als Expression eine Methode verwenden, die diese Liste erzeugt und verwendet.
Also Text Field Expression könnte sein:

Java:
org.example.ListFactory.createList($P{meinParameter}).toString()

Wobei meinParameter ein Parameter im Report ist.

Ist das richtig oder willst du die Liste anders verwenden?
 

dogano

Mitglied
Exportiere dein Projekt in eine JAR-Klasse und füge sie zum Classpath von IReport hinzu.
(Extras - Optionen - iReport - Tab General - Reiter Classpath)

Dann kannst du als Expression eine Methode verwenden, die diese Liste erzeugt und verwendet.
Also Text Field Expression könnte sein:

Java:
org.example.ListFactory.createList($P{meinParameter}).toString()

Wobei meinParameter ein Parameter im Report ist.

Ist das richtig oder willst du die Liste anders verwenden?

Hey,

vielen Dank für die Info. Mein Projekt ist allerdings ein RCP/SWT Projekt (also keine JAR). Kann ich nicht einfach die Klasse einbinden?

Nachdem ich dem Report meine Klasse mitgeteilt habe, würde ich gerne mithilfe den Gettern die Werte als Parameter/Felder übergeben, damit gruppiert auf dem Report ausgegeben werden.

Ist es also möglich die ArrayList im Designer dann zu verwenden?
 
Zuletzt bearbeitet:

anti-held

Bekanntes Mitglied
Auch wenn dein Projekt ein RCP Projekt ist, kann es in eine Jar exportiert werden.

Statische Methoden kannst du so wie ich es oben beschrieben habe immer verwenden.
Es muss nur die Klasse eben irgendwo im Classpath zu finden sein.

Für Tests im Designer musst du eben die Jar hinzufügen.
Später zur Laufzeit ist diese Klasse eh im Classpath vorhanden.

Willst du dynamisch Werte von bestimmten Objekten übergeben, solltest du dies wie turtle beschrieben hat über die ParameterMap machen.
Der Key muss der Name des Parameters im Report sein.
Der Value ist dann der Wert. (Dieser muss natürlich den richtigen Datentyp definiert haben. z.B. java.lang.String)
 

dogano

Mitglied
Hi,

dass man SWT auch in JARs exportieren kann, war mir neu :) Vielen Dank für die Info...

ich habe jetzt das Problem gelöst. Ist eigentlich ganz einfach, wenn man weiß wie.

Ich habe ein extra Java Programm erstellt und die Model Klassen dahin kopiert. Dieses Projekt habe ich dann (wichtig ist nicht "Runnable JAR", sondern "JAR Archive" auszuwählen) exportiert und unter Optionen -> Extras -> Classpath in iReport eingebunden.

Als nächstes habe ich für meinen Report als Datenquelle "JavaBean Datasource" ausgewählt und den Namen (zusammen mit dem Package) angegeben (z.B. de.java.forum.Person). Weil die JAR ja eingebunden war, kann man einfach "Read Attributes" sagen und der Report kennt die Felder.

Später bei Programmaufruf muss man lediglich folgendes machen:

Java:
jasperReport = JasperCompileManager.compileReport(source);
jasperPrint = JasperFillManager.fillReport(jasperReport, jasperParameter, new JRBeanCollectionDataSource(list));

wobei list eine ArrayList der Klasse, die iReport kennt, und source der Pfad zum Report ist.

Vielen Dank für eure Hilfe!

dogano
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M ArrayList oder LinkedList Allgemeine Java-Themen 10
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
B Type mismatch: cannot convert from Graph.Edge to ArrayList<Graph.Edge> Allgemeine Java-Themen 21
R ArrayList Allgemeine Java-Themen 4
G jToggleButton in Array/ArrayList Allgemeine Java-Themen 12
J ArrayList, ganze Zeilen löschen oder überspringen Allgemeine Java-Themen 4
L ArrayList sortieren Allgemeine Java-Themen 2
C ArrayList Problem Allgemeine Java-Themen 3
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
S Best Practices CopyConstrutor mit ArrayList Allgemeine Java-Themen 1
S ArrayList Design Allgemeine Java-Themen 4
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
H Elemente aus ArrayList in Array speichern Allgemeine Java-Themen 8
MiMa Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
X Output von ArrayList Allgemeine Java-Themen 3
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
H Arraylist mit anderer ArrayList überschreiben Allgemeine Java-Themen 17
MiMa ArrayList sortieren?? Allgemeine Java-Themen 5
Curtis_MC Pointer mit ArrayList vergleichen Allgemeine Java-Themen 6
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
F Arraylist vollständig abspeichern und laden Allgemeine Java-Themen 1
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
N Mehrdimensionale ArrayList mischen Allgemeine Java-Themen 10
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
MiMa Date aus einer ArrayList<Date> holen ?? Allgemeine Java-Themen 5
MiMa ArrayList Rückgabewerte aus einer Funktion Allgemeine Java-Themen 15
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
T Collections ArrayList Sortieren Allgemeine Java-Themen 4
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H ArrayList: Leere Elemente finden? Allgemeine Java-Themen 2
GreenTeaYT Verständnisprobleme zur Arraylist Allgemeine Java-Themen 1
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
K ArrayList sortieren Allgemeine Java-Themen 16
A Bestimmte Inhalte aus ArrayList 1 in ArrayList 2 kopieren Allgemeine Java-Themen 6
S Mehrdimensionales ArrayList ins HashSet Allgemeine Java-Themen 10
C ArrayList Allgemeine Java-Themen 8
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
K Array in ArrayList Allgemeine Java-Themen 16
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
Paul15 Arraylist 2D Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
Neumi5694 Datentypen ArrayList vs TreeMap Allgemeine Java-Themen 6
F ArrayList Allgemeine Java-Themen 11
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
N ArrayList in eigenem Object nicht richtig serialisierbar Allgemeine Java-Themen 14
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
Z Elemente einer ArrayList von rechts wegnehmen Allgemeine Java-Themen 5
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
R ArrayList und HashMap Allgemeine Java-Themen 7
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
Doopy ArrayList plötzlich leer Allgemeine Java-Themen 2
L ArrayList Inhaltstyp. Allgemeine Java-Themen 5
Z Klassen ArrayList selbst machen Allgemeine Java-Themen 5
J Arraylist speichern und laden? Allgemeine Java-Themen 5
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
D ArrayList index auf gültigkeit prüfen Allgemeine Java-Themen 12
M ArrayList<String> Frage Allgemeine Java-Themen 7
O ArrayList kaputt?! Allgemeine Java-Themen 5
M ArrayList<Foo> in ein Foo[] konvertieren? Allgemeine Java-Themen 8
Bananabert Abstract ArrayList Allgemeine Java-Themen 4
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
O ArrayList - Serialisierungs-Problem Allgemeine Java-Themen 11
M JTable + ArrayList Allgemeine Java-Themen 3
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
O Collections ListIterator gibt Inhalt von ArrayList nicht aus Allgemeine Java-Themen 3
Madlip Variablen 3 Werte aus ArrayList und weiter ... Allgemeine Java-Themen 4
S arraylist nach n. Eintrag numerisch Sortiren Allgemeine Java-Themen 5
O Problem beim Auslesen einer Arraylist von JComboBoxen Allgemeine Java-Themen 2
R Threads korrekte Synchronisation bei Vector und ArrayList Allgemeine Java-Themen 6
M Kovariante Rückgabewerte mit ArrayList Allgemeine Java-Themen 3
H LinkedList<LinkedList<String>> nach ArrayList<ArrayList<String>> ? Allgemeine Java-Themen 9
E NetBeans Vector durch ArrayList ersetzen Allgemeine Java-Themen 4
Maxim6394 Problem mit ArrayList Allgemeine Java-Themen 5
E Berechnung in Arraylist Allgemeine Java-Themen 10
E ArrayList mit unbekannter Größe Allgemeine Java-Themen 8
V Fork Join bei Arraylist Allgemeine Java-Themen 6
H Fehler in Arraylist Allgemeine Java-Themen 2
S Datensätze in eine ArrayList<Movie> speichern Allgemeine Java-Themen 13
S Alle Kombinationen aus ArrayList - Potenzmenge Allgemeine Java-Themen 7
V ArrayList vergleichen mit .equals? Allgemeine Java-Themen 13
J ArrayList-Problem Allgemeine Java-Themen 16
S Von einer ArrayList in die andere schreiben? Allgemeine Java-Themen 6
S ArrayList<JLabels> "malen" Allgemeine Java-Themen 4
E ArrayList in ArrayList, Referenzierungsproblem Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben