Layoutbereiche dynamisch gestalten

Falls dem Anwender die Entscheidung überlassen werden soll, welches Layout für den Druck verwendet werden soll, wird eine Möglichkeit benötigt, um die Layout-Bereiche dynamisch anpassen zu können. Hierbei soll der Anwender zwischen verschiedenen, vorgegebenen Layouts das gewünschte Format auswählen können.

Anpassung der Anwendung

Dazu kommt eine Variable Querformat zum Einsatz, die später als Darstellungsbedingung für den Layout-Bereich im Projekt verwendet wird. Der Wert der Variable kann zum Beispiel von einem Radio-Button festgelegt werden, der in der Anwendung vorgegeben wird:

if (!OrientationRBTN.Checked)
	LL.Variables.Add("Querformat", true);
else
	LL.Variables.Add("Querformat", false);

Anpassungen in der Projektdatei im Designer

Da die Seitenorientierung geändert werden soll, muss auch die Höhe und Breite des Berichtscontainers angepasst werden. Ansonsten können Inhalte abgeschnitten werden, wenn der Berichtscontainer im Hochformat positioniert wurde.

Selektieren Sie im Toolfenster Objekte den Berichtscontainer und verwenden Sie dann für die Angabe der Höhe und Breite die seitenspezifischen Variablen LL.Device.Page.Size.cx bzw. LL.Device.Page.Size.cy. So passt sich die Berichtscontainer dem verwendeten Seitenformat dynamisch an:

Damit sich beim Wechsel des Layouts zusätzlich auch die Spalten inhaltlich an die geänderte Breite des Berichtscontainers anpassen, kann man für die Breite der Spalten in der Tabelle noch eine flexible Formel verwenden:

Nun wird der eigentliche Layout-Bereich unter Projekt > Layout-Bereiche (Projekt > Seitenlayout) definiert. Der Bereich Standard-Layout ist immer mit der Bedingung “Wahr” vorgegeben und kann nicht umbenannt oder entfernt werden. Erstellen Sie über die Schaltfläche “Neu” einen neuen Bereich. Über die Eigenschaft Bezeichnung geben Sie einen aussagekräftigen Namen für diesen Bereich an, z.B. “Layout im Querformat”. Wechseln Sie die Eigenschaft Ausrichtung auf “Querformat”. Als Bedingung geben Sie an, wann dieser Layout-Bereich angewendet werden soll, bspw. wenn die Bedingung “Querformat” (die angelegte Variable) “wahr” oder “falsch” zurückliefert. Natürlich können hier auch anspruchsvollere Formeln umgesetzt werden:

Tipp

Im Designer kann der aktive Layout-Bereich in den Projekteigenschaften über Aktiver Design Bereich angezeigt werden. Dieser ist beliebig umschaltbar und erleichtert das Designen:
image

Als Ergebnis kann nun in der Anwendung direkt eingestellt werden, welcher Layout-Bereich in der Projektdatei aktiv sein soll. So kann dann das gewünschte Layout vom Anwender flexibel gewählt werden:
image