Eclipse + JasperReport + Bean als Datasource

jochen69

Grünschnabel
Hallo,

bin im Bereich JR Anfänger und habe ein bestehendes Projekt übernommen (müssen) und soll nun Änderungen in einem Report (neues Feld) vornehmen. Hierzu habe ich mir den JasperAssistant Editor geholt.

Es gibt im EJB-Container ein Verzeichnis resources/reports in dem die *.jasper, *.java und *.jrxml Dateien.

Problem 1:
Die *.java Dateien scheinen wohl irgendwie generiert worden zu sein
.... Generated by JasperReports (steht in der Headline)
aber wie mach ich das, wenn ich Änderungen habe? Wann wird das Bean, wie erzeugt?

Ich kann im Designer wohl ein Feld hinzufügen, aber dem fehlt wohl der Key-Property, daß ich im Designer nicht erfassen kann. Im bestehenden Feld steht z. B. 'textField-30' im Feld Key

Problem 2:
In bestehenden Reports kommen beim builden vom Projekt die Fehlermeldung

Severity and Description Path Resource Location Creation Time Id
Expression: Parameter 'articleName' not found. EJB/resources/reports translation.jrxml Text Field 1220525162386 1147600

Wo und wie wird der Parameter definiert? Das Feld ist da. Wo und nach was muß ich suchen?

Danke für jede Unterstützung!
Jochen
 
Hi Jochen
Ich habe relativ viel Ahnung von Jasper. Allerdings versteh ich deine Probleme leider auch nicht auf die schnelle.

Was ich dir aber auf die schnelle sagen kann:
1. 'textField-30' wird nur intern im Report verwendet. Damit musst du dich nicht befassen wenn du einen Designer benutzt (Wenns mit JasperAssistant nicht klappt, versuchts mal mit iReport, den verwende ich - einfach googlen).

2. Wenn du die jrxml Dateien öffnest, ein paar grafische Objekte hinzufügst und wieder compilierst müsste der Report trozdem noch funktionieren. Wenn nicht dann compiliere die jrxml einfach mal so ohne Veränderungen, wenns dann noch nicht klappt ist sowieso was faul.

3. Expression: Parameter 'articleName' not found.
Du verwendest ihrgendwo in einem Feld den Parameter articleName ($P{articleName} müsste ihrgendwo als Text Field Expression drin sein. Diesen Parameter musst du aber zuerst deklarieren!

Habe leider keine Zeit tiefer darauf einzugehen. Nächste Woche kann ich mir das mal genauer ansehen, wenn dus bis dahin nicht schon hingekriegt hast :)
 
Zurück