Birt-Report-Parameter "on the fly" möglich?

Nikhil_1

Grünschnabel
Hallo zusammen,

ich habe eine RCP-Eclipse-Anwendung entwickelt, welche u. a. auch BIRT-Reports anzeigt.
Nun gibt es den Wunsch auf Benutzerseite, daß man das Aussehen der BIRT-Berichte als Benutzer zur Laufzeit ändern möchte.

Beispielsweise: Anstelle der Linien sollen die Daten als Balkengrafik anzeigt werden, oder die Linien sollen eine andere Farbe bekommen, oder
die Größe der Grafik soll sich ändern lassen etc.

Kennt jemand Code-Beispiele oder Tutorials, Bücher ... welche diese Möglichkeit beschreiben?

Bin für jeden Hinweis dankbar.

Schönen Gruß
Nikhil Milo
PS: Ich hoffe, ich habe meine Frage im korrekten Thema-Ordner gepostet. Bin neuer User des Forums.
 
Ich weiß ja nicht wie du deine Reports anzeigen läßt, aber wenn du im Designer des Reports die gewünschten Parameter einträgst, sollte der Nutzer bei generieren des Reports zum setzen der Parameter aufgefordert werden.
 
Hallo Zeja,

danke für die schnelle Antwort.

Ich versuche erstmal die entsprechende Stelle im Birt-Designer zu finden,
bei der man anstatt die Eigenschaften fest zu vergeben, Benutzerparameter angeben könnte.

Aufgerufen werden die Reports über den WebViewer.
Code-Beispiel für den Aufruf: WebViewer.display(pfad,WebViewer.HTML, browser, "frameset");
(in der Methode "createPartControl(Composite parent)", in einer "ViewPart"-Klasse "

Werde mich wieder melden, wenn ich fündig geworden bin.

Schönen Gruß
Nikhil
 
In der ReportDesign Perspektive hast du eine View DataExplorer wenn ein Report offen ist. Dort findest du die ReportParameters. Da kannst du einen anlegen, z.B. mit Typ Boolean ob ein Diagramm angezeigt werden soll oder nicht.

In deinem ReportDesign fügst du dann das Diagramm hinzu und gehst bei selektiertem Diagramm auf den Property Editor View. Dort auf die Seite Visibility und den Haken "Hide Element" und "For all outputs" Auswählen. In der Expression auf fx klicken und in dem Dialog unter Category und Report parameters deinen Parameter auswählen (doppelklick). Der erscheint dann oben im Editor. Wenn dein Paramter z.B. hideDiagram heißt müßte in der Expression
Code:
params["hideDiagram"].value
stehen.
 
Hallo Zeja,

vielen Dank für die ausführliche Beschreibung.
Das werde ich heute gleich versuchen und melde mich dann wieder.

Viele Grüße
Nikhil
 
Hallo Zeja,

habe Dein Beispiel mit dem Parameter visible erfolgreich ausprobiert. Danke. Prinzipiell funktioniert es also. Danke für die ausführliche Beschreibung.

Habe allerdings in dem Property Editor View noch keine Parametermöglichkeiten gefunden,
die das Aussehen der Charts beeinflussen, wie z. B. Char-Typ (Balken statt Linien)
oder welche die Datenzuordnung "Spalte-Zeile" bzw. X, Y, Z (Series, Category, Optional Series Grouping) drehen könnten, oder weitere.

Wie kann man herausfinden, welche Eigenschaften für das Parameter-Formular (Vor der Anzeige des Reports) dynamisch änderbar sind?

Viele Grüße
Nikhil
 
Diese Sachen müßtest du über Javascript/Java im Event Handler ändern können.

Wenn du ein Objekt markierst kannst du auf die Scriptansicht wechseln. Dort gibt es für die meisten Elemente ein OnRender Event. Da kannst du Javscript Code eingeben und so dynamisch (auf Basis deiner Parameter) Eigenschaften ändern. Leider sieht man nicht gut was für Variablen man in dem Editor zur Verfügung hat. Du kannst das auch in Java-Code schreiben in dem du auf dem Objekt im Property Editor unter Event Handler eine Java-Klasse angibst. Einfach irgendeine Klasse anlegen und einmal laufen lassen, dann sagt der dir wovon du erben mußt. Da hast du dann entsprechende Java-Objekt zur Verfügung. Wobei die BIRT API absolut nicht schön ist.
 
Hallo Zeja,

nochmals Dank für Deine fixe Antwort und die Tipps. Hab' erste heute morgen in die Mail geschaut, daher erst jetzt mein "response".
Werde mich langsam durch die Möglichkeiten wühlen (viel Erfahrung hab ich noch nicht).
Wenn ich etwas gefunden habe, gebe ich Dir Bescheid.

Viele Grüße
Nikhil
 
Zurück