Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Einen Style hinzufügen zur dynamischen Änderung der Schriftgröße

Es muss ein weiterer Arbeitschritt außerhalb des iReport durchgeführt werden! (XML-Editor)

Code Block
languagexml
<style name="style1" isDefault="true" markup="styled" fontName="Arial" fontSize="10" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false">
		<conditionalStyle>
			<conditionExpression><![CDATA[$F{strlieferantenname}.length() > 2]]></conditionExpression>
			<style fontSize="6"/>
		</conditionalStyle>
	</style>

 

 

Das zu ändernde Textelement muss auskommentiert werden

Code Block
languagexml
<textField evaluationTime="Report" isBlankWhenNull="true">
	<reportElement style="style1" 
                   stretchType="RelativeToBandHeight" 
				   mode="Transparent" 
                   x="0" 
                   y="0" 
                   width="248" 
                   height="12" 
                   isRemoveLineWhenBlank="true" 
                   forecolor="#010101"
    />
			<!--<textElement>
			<font fontName="Arial" size="9"/>
		</textElement>-->
	<textFieldExpression class="java.lang.String"><![CDATA[$F{strlieferantenname}]]></textFieldExpression>
</textField>
Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jasperTemplate PUBLIC "-//JasperReports//DTD Template//EN" "http://jasperreports.sourceforge.net/dtds/jaspertemplate.dtd">
<jasperTemplate>
   <style name="Report Title" isDefault="false" hAlign="Center" fontSize="24" isBold="true" />
   <style name="Heading 1" isDefault="false" fontSize="18" isBold="true" />
   <style name="Heading 2" isDefault="false" fontSize="14" isBold="true" />
   <style name="Strong" isBold="true" pdfFontName="Helvetica-Bold" backcolor="lightGray" forecolor="green" isDefault="false" />
   <style name="test1" isBold="true" pdfFontName="Helvetica-Bold" forecolor="blue" isDefault="false" />
</jasperTemplate>

 

 

Über Styles kann man in Jaspersoft Studio das Aussehen von Elementen regulieren. Ein Style besitzt eine Vielzahl von Eigenschaften, welche der Nutzer verändern kann. Man kann mit diesen die Ausrichtung von Bild und Text verändern, es kann die Schriftart für Textelemente gesetzt werden und es können zahlreiche Einstellungen am Aussehen eines Paragraphen vorgenommen werden. All diese Einstellungen und weitere können in der Properties-Oberfläche unter dem Style Tab eingesehen werden.

Style Hierarchie

Jeder Style kann in JasperReports maximal einen Parent Style haben. Wenn für einen Style ein Parent gesetzt wurde, so erbt dieser Style alle Attribute von seinem Parent, falls sie für den Style selbst nicht definiert wurden. Wenn ein Attribut an keiner Stelle gesetzt wurde, so liefert der Style trotzdem für jedes Attribut einen Standardwert zurück.


Im nächsten Bild ist zu sehen, wie für einen Style ein Parent Style ausgewählt werden kann.

Image Added







Default Style setzen

JasperReports bietet die Möglichkeit einen Default Style zu setzen. Dieser Style wird für alle Elemente verwendet, welchen kein Style zugewiesen wurde. Es kann maximal einen Default Style geben. Dieser wird gesetzt, indem man den gewünschten Style auswählt und unter den Style Properties ein Häkchen bei Default Style setzt.

Conditional Styles

Conditional Styles sind Styles, welche an eine Bedingung geknüpft sind. Sie werden als Unterelemente von normalen Styles erstellt.

Image AddedBeispielanwendungsfall

Eine mögliche Verwendungsweise von Conditional Styles ist, das Ändern der Schriftfarbe für bestimmte Feldwerte. Nachfolgend soll gezeigt werden, wie mit einem Conditional Style die Schriftfarbe eines Textes auf rot gesetzt wird, falls das NAME-Feld den Wert "FEHLER" besitzt.

Erstellen eines Conditional Styles

1. Klicken sie auf einen normalen Style, zu welchem der neue Conditional Style hinzugefügt werden soll.

2. Wählen sie die Option Create Conditional Style im Kontextmenü aus.








Image AddedKonfigurieren des Conditional Styles

1. Damit der Style sich zum Fehler hervorheben eignet, wird die Textfarbe auf rot gesetzt. (Style Properties → Appearance → Forecolor)

2. Öffnen Sie unter den Properties bei der Conditional Expression den Expression Editor und fügen Sie Ihre Bedingung ein.

In diesem Beispiel, wird der Conditional Style für den Namen "FEHLER" aktiviert, um diesen in einer roten Schrift anzuzeigen. Ist die Bedingung nicht erfüllt, wird der Parentstyle verwendet - oder ein anderer Conditional Style, für welchen die Bedingung erfüllt ist. Allgemein bietet der Expression Editor  eine Vielzahl von Möglichkeiten, um das Aussehen des Reports für bestimmte Sonderfälle anzupassen.