Table of Contents

Labels

Wichtige Einstellungen für Labels und Text-Shrinking

Labels (und Tabellenzellen) bieten viele verschiedenen Kontrollschrauben für das Verhalten von Text und der Größe des Labels selbst auf Basis dessen an. Die wichtigsten Grundregeln werden hier beschrieben.

CanShrink

CanShrink ist eines der zentralen Properties im control resizing. Wenn es aktiviert ist, passt sich die Größe des Controls beim Druck der Größe des Textes innerhalb des Controls an. Wenn alle Controls über und unter dem schrumpfenden Control ebenfalls CanShrink aktiviert haben, kann ein gesamtes Band drastisch verkleinert werden:

Design: Can Shrink Design


Preview: Can Shrink Preview

Das funktioniert allerdings nur, solange auch alle betroffenen Controls in die Platzberechnungen des Drucks miteinbezogen werden.

Visible = false entfernt ein Control aber aus dieser Berechnung!

Der im Designer beanspruchte Platz des unsichtbaren Controls wird somit als leerer Platz gewertet und kann Lücken zur Folge haben:

Design: Can Shrink With Invisible Design

Preview: Can Shrink With Invisible Preview

(Die blauen Tabellenzellen schrumpfen immer noch ordnungsgemäß, weshalb nur der Designer-Platz der grauen Zellen mit Visible = false übrig bleibt) Sobald der Platz wieder in Berechnungen einfließt, wird er auch wieder geschrumpft – zum Beispiel, wenn nur eine Zelle in der Zeile unsichtbar ist:

Design: Can Shrink With Empty Text Design

Preview: Can Shrink With Empty Text Preview

Aus diesem Grund ist es empfehlenswert, bei Feldern, die unter bestimmten Bedingungen nicht angezeigt werden sollen, per Expression den Text zu leeren, statt das Visible-Property zu steuern.

CanGrow

CanGrow funktioniert, wie zu erwarten, als Gegenstück zu CanShrink. Wenn ein Text nicht vollständig ins Control passt, aus Gründen der Textlänge oder Schriftgröße, wächst es vertikal. Controls unter dem Label werden weiter nach unten geschoben.

ProcessNullValues

ProcessNullValues bestimmt, wie ein Label mit null als Textwert umgeht. Standardmäßig steht dies auf „Leave“, was das Control einfach leer stehen lässt, welches dann als Lücke auf dem Report erscheint. Wenn man leere Labels verstecken möchte, muss ProcessNullValues.SuppressAndShrink eingestellt sein, oder über CanShrink und expression-abhängiges Text-Leeren gearbeitet werden.

Multiline

Bestimmt, ob Zeilenumbrüche im Text auch als Zeilenumbrüche interpretiert und angezeigt werden. Bestimmt außerdem, ob WordWrap überhaupt umbrechen darf.

WordWrap

WordWrap setzt automatische Zeilenumbrüche, sobald Text den Rand des Controls erreicht. Es garantiert nicht, dass auch der gesamte Text dargestellt wird – dafür muss die Höhe des Controls zur Darstellung ausreichen.

AutoWidth

Analog zu CanGrow, allerdings für die Breite des Controls. Wenn Text den Rand des Controls erreicht, wird der Text über den Seitenrand des Controls hinaus weitergeschrieben. Andere Controls werden ignoriert und übermalt. Falls AutoWidth und WordWrap gleichzeitig aktiviert sind, gewinnt WordWrap. Ein aktiviertes WordWrap verhindert seitliches Wachsen des Controls.