2016-08-09 73 views
1

Ich habe eine Webanwendung mit vielen Katalogen (mehr als 200), und ich möchte PDF und XSL Berichte für sie erstellen. Der Benutzer hat nur Filter nach Tabellenparametern. Um Berichte zu erstellen, erwäge ich DynamicReports Bibliothek. Und durch die Beispiele auf der Website sehe ich den folgenden Code:Generische Datei für DynamicReports erstellen

JasperReportBuilder report = DynamicReports.report();//a new report 
report 
    .columns(
     Columns.column("Customer Id", "id", DataTypes.integerType()), 
     Columns.column("First Name", "first_name", DataTypes.stringType()), 
     Columns.column("Last Name", "last_name", DataTypes.stringType()), 
     Columns.column("Date", "date", DataTypes.dateType())) 
    .title(//title of the report 
     Components.text("SimpleReportExample") 
     .setHorizontalAlignment(HorizontalAlignment.CENTER)) 
     .pageFooter(Components.pageXofY())//show page number on the page footer 
     .setDataSource("SELECT id, first_name, last_name, date FROM customers", 
           connection); 

Also, wie ich schon sagte, ich habe viele Kataloge, und ich will nicht Liste alle Tabellenparameter für jede Tabelle mit der Hand.

Wie kann ich generische Klasse erstellen, die Felder automatisch erstellt oder schlägt mir einen nützlichen Hinweis. Helfen Sie mir mit Anwendungsdesign. Danke

Antwort

1

Ich verwende auch die gleichen dynamischen Berichte, um Bericht zu erzeugen. Hier, was ich tue ist, werde ich JSON-Datei hochladen, die die Berichtsinformationen wie Abfrage-ID enthält, welche Spalten angezeigt werden sollten, und seine Stile und alle. Indem ich den JSON analysiere, werde ich alle Details erhalten und durch Ausführung der Abfrage werde ich Daten erhalten.