# JasperReports variable Größe für ein Textelement



## pigargo (22. April 2010)

Hallo,

ich  möchte gerne in meinem Report folgendes abbilden:

Tabelle ph
text         stufe
textstufe1   1
textstufe2   2
textstufe3   3
textstufe2   2


Tabelle schrift
stufe   groesse
1       5
2       4
3       3

Report
textstufe1
textstufe2
textstufe3
textstufe2

Das Ganze ist soweit ja mal ganz einfach, dachte ich zumindest am Anfang habe mir meine Größe in die Variable $V{groesse} gespeichert und mit <font size="$V{groesse}"/> definiert. Aber egal in welcher Variante mit <!CDATA ich es versucht habe das Ergebnis war immer eine Fehlermeldung. Ich habe nun eine Möglichkeit gefunden, indem ich mein Textfeld n mal in unterschiedlicher Größe definiere und mit der print when expression arbeite. Nur wird der Report dann extrem unübersichtlich und schwierig zu warten, daher möchte ich diese Möglichkeit erst verwenden, wenn ich wirklich keinen anderen Weg finde.

Meine Vermutung ist nun, dass ich dieses Problem gar nicht in der xml lösen kann, sondern das im Java Aufrufprogramm machen muss. Allerdings sind meine Java Kentnisse schon etwas eingerostet und mir fehlt der Plan wie ich das am Besten angehe. Oder vielleicht gibt es ja doch im xml eine Möglichkeit die ich einfach übersehe.

Die restliche Formatierung ist ja über stylsheets bzw. templates kein Problem, aber da geht immer nur eine Formatierung pro Feld und nicht für ein Feld je nach stufe eine andere Formatierung.

Hat jemand von euch vielleicht eine gute Idee dazu.

Ich bin für jede Hilfe dankbar.

lg, pigargo


----------



## Artorius (24. April 2010)

Hi!
Soweit ich dich jetzt verstanden habe, versuchst du die Schriftgröße dynamisch zu ändern.  Dann muss ich dich enttäuschen, dass dies so leider nicht geht.

Eine Möglichkeit wäre diese, wie du auch schon angesprochen hast, mehrere TextFelder zu nehmen und dann mit der "print when expression" zu arbeiten.
Wenn du damit nicht arbeiten willst, bleibt es dir wohl nicht erspart, dass ganze in Java zu lösen.

Vor kurzem bin ich übrigens über die Dynamic Jasper  API gestolpert, die es einem ermöglicht, dynamisch Reports zu erstellen. Habe damit noch nicht gearbeitet, aber vielleicht hilft dir diese ja, bei deinem Vorhaben.http://dynamicjasper.sourceforge.net/docs/features.html 
Zumindest mal der Punkt 


> Conditional Format: DJ provides a very simple way to define conditional formats. You can use simple conditions or custom conditions.


könnte für dich interessant klingen.

Grüße!


----------

