Ad-hoc-Layouts

Das Ad-hoc-Layout ist die Grundlage für jeden mit der Ad-hoc-Berichterstellung erstellten Bericht. Es definiert die Elemente, die vom Benutzer geändert werden können, ihre Formatierung und die Gestaltungselemente eines Berichts. Layouts können auch statische Elemente und Felder verwenden, die in Menge und Aussehen festgelegt sind.

Die Art der Elemente, die in einem Ad-hoc-Layout vorhanden sind, definieren, welche Seiten auf der GUI verfügbar sein werden, um diese Elemente zu modifizieren. Wenn es zum Beispiel mindestens eine Gruppe in einem Layout gibt, wird die Gruppenseite für dieses Layout verfügbar sein.

Im folgenden wird erklärt, wie ein Ad-hoc-Layout mit dem i-net Designer erstellt wird.

Arten von Ad-hoc-Layouts

Es stehen zwei Arten von Ad-hoc-Layouts zur Verfügung:

  • Reale Layouts: Definiert die Position und das Aussehen von Berichtselementen, haben aber noch keine Datenquelle. Bei diesen Layouts muss der Benutzer mindestens eine Datenquelle festlegen und eines der primären Berichtselemente (Spalten, Diagramm oder Kreuztabelle) konfigurieren, um ein geeignetes Ergebnis zu erhalten. Diese Art von Layout sollte bei der Ausführung eines Ad-hoc-Berichts bevorzugt werden.
  • fertige Berichte: Diese Berichte sind im Grunde normale Berichte, die für i-net Clear Reports erstellt werden. Diese Arten von Layout können ohne weitere Änderungen sofort ausgeführt werden. Der Benutzer kann kleinere Anpassungen an den Elementen dieses Berichts vornehmen, z.B. den Filter anpassen.

Wie wird ein Ad-Hoc-Layout erstellt

Die Voraussetzung dafür, dass ein i-net Clear Reports-Bericht ein echtes Ad-hoc-Layout ist, ist die Verwendung der LayoutDatasource. Diese Datenquelle wird durch den Installationsprozess erstellt. Sie bezieht sich nicht auf eine Datenbank. Stattdessen stellt sie Vorlagenfelder zur Verfügung, die zum Zeitpunkt der Ausführung des Ad-hoc-Berichts durch echte Datenbankfelder ersetzt werden.

Um also ein Basislayout zu erstellen, starten Sie einfach den i-net Designer, erstellen einen leeren Bericht und legen die LayoutDatasource als einzige Datenquelle fest.

Es ist zu beachten: Wenn es eine andere Datenquelle als die LayoutDatasource gibt, wird der Bericht als fertiger Bericht betrachtet.

Spalten

Um ein Layout im Tabellenstil zu erstellen, muss dem Detailbereich des Layouts mindestens ein Feld hinzugefügt werden. Diese Felder werden später durch die vom Benutzer gewählten Felder ersetzt. Der Werttyp des LayoutDatasource-Feldes, das dem Detailbereich hinzugefügt wird, ist irrelevant.

Es stehen drei Arten von Spaltenlayouts zur Verfügung, abhängig vom Seitenlayout und der Anzahl der zum Detailabschnitt hinzugefügten Felder.

Variable Spalten

Um eine variable Anzahl von Feldern pro Tabellenzeile in einem Ad-hoc-Bericht zuzulassen, fügen Sie genau ein Feld zum Detailabschnitt des Layouts hinzu. Dieses Feld wird zur Laufzeit für jedes Feld kopiert, das der Benutzer zu seinem Ad-hoc-Bericht hinzufügt.

Der Abstand zwischen diesem Feld und dem linken Rand des Detailbereichs entspricht der linken Lücke aller Spalten des resultierenden Ad-hoc-Berichts.

Wenn Sie eine vertikale Linie rechts von der Spalte hinzufügen, entspricht der Abstand zwischen dem rechten Rand des Feldes und dieser Linie der rechten Lücke aller Spalten des resultierenden Ad-hoc-Berichts.

Abbildung 1: Variables Spalten Layout

Alle anderen Gestaltungselemente, wie eine horizontale Linie oder ein Kasten, werden nicht kopiert oder verändert. Sie werden im resultierenden Bericht an der entworfenen Position erscheinen.

Wenn ein Benutzer nun z.B. drei Felder zu seinem Ad-hoc-Bericht hinzufügt, wird das Rendering-Ergebnis drei Spalten haben, jeweils mit den entworfenen Lücken und Trennlinien dazwischen.

Abbildung 2: Variables Spaltenlayout, Rendering-Beispiel

Wie Sie sehen können, wird die Breite des Feldes selbst so skaliert, dass der verbleibende Platz zwischen den Lücken aufgefüllt wird. Die Breite des entworfenen Feldes ist also für das Ergebnis nicht relevant, aber es gibt eine Mindestbreite für alle Arten von Feldern.

Um den automatischen Spaltennamen zu verwenden, platzieren Sie ein Textfeld mit genau dem Namen des Datenfeldes in den Abschnitt über dem Detailbereich. Dies wird der i-net Designer übrigens automatisch tun. Dieses Feld wird zur Laufzeit durch den Namen der Spalte ersetzt. In unserem Beispiel wird das fettgedruckte Textfeld mit dem Inhalt column_integer durch die Spaltennamen ProductName, Price und Size ersetzt.

Feste Spalten

Wenn Sie dem Detailabschnitt eines Berichts mehr als ein Feld hinzufügen, verwendet der Ad-hoc-Bericht feste Spalten.

Abbildung 3: Festes Spalten-Layout

Fixierte Spaltenlayouts skalieren oder kopieren Felder nicht horizontal. Stattdessen wird das Layout so verwendet, wie es ist.

Abbildung 4: Render-Beispiel festes Spalten-Layout

Wenn der Benutzer weniger Felder auswählt als durch das Layout definiert, bleiben die übrigen Spalten leer. Wenn der Benutzer mehr Felder auswählt, als durch das Layout definiert sind, wird der Detailbereich vertikal kopiert, um alle Spalten zu platzieren.

Abbildung 5: Festes Spalten-Layout, Beispiel mit zu vielen Spalten

Bitte beachten Sie, dass die Kopfzeile nicht kopiert wird. Wenn der Benutzer also mehr Spalten auswählt als durch das Layout definiert, sind der Tabellenkopf und der Zellinhalt nicht mehr konsistent.

Mailing-Label

Der Versandetikettenmodus wird verwendet, wenn das Seitenlayout auf mehrspaltig oder Etikett eingestellt ist. In diesem Fall ist der verfügbare Platz für das Layout in Breite und Höhe begrenzt.

Das Versandetikett lässt auch feste und variable Spalten zu, aber die Felder werden zur Laufzeit von einem anderen Algorithmus platziert.

Bitte beachten Sie, dass es keinen automatischen Spaltennamen für Versandetiketten gibt.

  • Variable Spalten: Bei Versandetiketten werden die Spalten vertikal statt horizontal kopiert.
Abbildung 6: Layout für Versandetiketten

Wenn es zu viele Spalten gibt, um in die Höhe des Etiketts zu passen, wird das Etikett auch horizontal geteilt, um mehrere Spalten und Zeilen zu schaffen.

Abbildung 7: Mailing Label Layout, render example
  • Feste Spalten: Der Layout-Algorithmus für feste Spalten von Adressetiketten funktioniert wie der zuvor beschriebene. Er dupliziert nur den Detailbereich vertikal, der in der Regel das gesamte Etikett mit einigen wenigen Feldern ausfüllt.

Jedes Feld, das die Höhe des Versandetiketts überschreitet, wird unsichtbar.

Gruppen

Die Gruppierung steht dem Benutzer zur Verfügung, wenn ein Ad-hoc-Bericht mindestens eine Gruppe enthält. Im Falle eines echten Layouts kann der Benutzer Gruppen hinzufügen oder entfernen, im Falle eines fertigen Berichts kann der Benutzer nur die definierten Gruppen ändern.

Was passiert, wenn der Benutzer eine Gruppe hinzufügt?

Wenn Gruppen zu einem Ad-hoc-Bericht hinzugefügt werden, werden zunächst die bestehenden Gruppen des Ad-hoc-Layouts gefüllt. Wenn Sie also drei Gruppen entworfen haben und der Benutzer drei Gruppen hinzufügt, werden im Ergebnis die drei entworfenen Gruppen und ihr Layout angezeigt.

Wenn der Benutzer mehr Gruppen hinzufügt, als im Ad-hoc-Layout verfügbar sind, werden die Kopf- und Fußzeile der letzten Gruppe einschließlich ihrer Statistikfelder und Namenselemente kopiert.

Was passiert, wenn eine Gruppe entfernt oder weggelassen wird?

Wenn eine durch das Ad-hoc-Layout definierte Gruppe nicht vom Benutzer gefüllt wird, wird ihr Inhalt in die Kopf- und Fußzeile der nächsten Gruppe verschoben.

Wenn überhaupt keine Gruppe gefüllt ist, wird der Inhalt der entworfenen Gruppe in die Kopf- und Fußzeile der Seite verschoben, je nachdem, ob die Gruppe das Flag Gruppenkopf auf jeder Seite wiederholen gesetzt hat.

Diese Funktion kann verwendet werden, um gruppierte Diagrammberichte zu erstellen, indem das Diagramm in den Gruppenfuß der ersten Gruppe gesetzt wird. Wenn überhaupt keine Gruppe vorhanden ist, wird das Diagramm in den Seitenkopf verschoben und zeigt alle Datensätze an.

Hinweis: Zusammenfassungsfelder und Gruppennamensfelder werden nicht verschoben, da sie an eine bestimmte Gruppe gebunden sind. Sie werden entfernt, wenn ihre Gruppe vom Benutzer nicht gesetzt/gefüllt wurde. Ein weiterer Hinweis: Diagramme und Kreuztabellen der Gruppenfußzeile werden in den Seitenkopf verschoben, da sie nicht in den Seitenfuß platziert werden können.

Summen

Um die Verwendung von Summen für den Benutzer zu ermöglichen, fügen Sie einfach ein Summenfeld in einen beliebigen Abschnitt außer dem Detailbereich ein. Die Einstellungen dieses Summenfeldes haben keine Wirkung, da sie durch die Auswahl des Benutzers überschrieben werden.

Zur Laufzeit werden die Summenfelder automatisch an den Spalten ausgerichtet, die sie summieren. Sie behalten ihre Größe und ihren vertikalen Versatz sowie die Formatierung bei.

Der Abschnitt, in dem ein Summenfeld platziert wird, definiert die Gruppierung und den Typ der Summierung dieses Feldes.

  • Wenn es in der Kopf- oder Fußzeile einer Gruppe platziert wird, wird die Summe gruppiert.
  • falls in der Fußzeile der Seite platziert, ist die Summe eine laufende Summe
  • Wenn das Summenfeld in der Kopf- oder Fußzeile des Berichts platziert wird, fasst es alle Datensätze zusammen.

Wenn ein Summenfeld in mehreren Abschnitten platziert wird, führt die Ad-hoc-Berichterstattung zu einer ähnlichen Summe für alle Abschnitte, jedoch mit unterschiedlichen Gruppen- und laufenden Summentypen.

Wenn Sie z.B. eine Summe in der Gruppen- und Berichtsfußzeile platzieren, wird eine gruppierte Summe und eine Summe für alle vom Benutzer ausgewählten Spalten erstellt.

Abbildung 8: Summe Feld Fields - Layout und Render-Eregebnis

Das Hinzufügen mehrerer Summenfelder zum gleichen Abschnitt in einem echten Layout hat keine Auswirkung. Bei Ad-hoc-Berichten wird nur das erste Summenfeld in einem Abschnitt als Vorlage verwendet.

In einem Endbericht können Summenfelder nur vom Benutzer geändert werden. Ihre Position, Anzahl und Aussehen ist fest vorgegeben.

Formatierung

Die Formatierung eines Feldes in einem gerenderten Bericht hängt von drei Quellen ab (in aufsteigender Priorität):

  • Ad-hoc-Layout: In einem Ad-hoc-Layout steht es Ihnen frei, jede Eigenschaft eines Feldelements ganz normal zu setzen. Die einzige Einschränkung ist der Typ des Feldes. Zahleneigenschaften können z.B. nur für Zahlenfelder festgelegt werden.
  • Ad-hoc-Dataview: Ad-hoc-Dataviews sind auf Eigenschaften beschränkt, die sich auf den Datentyp beziehen, der durch ein Feld dargestellt wird. Reine Stil-Eigenschaften können in einer Ad-hoc-Dataview nicht festgelegt werden. So sind z.B. Zahleneigenschaften erlaubt, während die Rahmen- oder Hintergrundfarbe nur im Ad-hoc-Layout eingestellt werden kann. Im Allgemeinen wird das Design des gerenderten Berichts niemals von der gewählten Datenquelle beeinflusst.
  • Feldformat durch den Benutzer festgelegt: Der Benutzer darf die Anzahl oder das Datums-/Zeitformat jeder Spalte festlegen. Diese Einstellung hat höchste Priorität, wenn sie auf einen beliebigen Nicht-Standardwert gesetzt wird.

Eigenschaftsformeln sind sowohl im Ad-hoc-Layout als auch in Ad-hoc-Dataviews zulässig. Beachten Sie jedoch, dass sich der Feldtyp zur Laufzeit von dem im Ad-hoc-Layout verwendeten Feldtyp unterscheiden kann. Wenn Sie also currentFieldValue in einer Eigenschaftsformel verwenden, ist die Formel nur gültig, wenn die Typen übereinstimmen, andernfalls hat sie keine Wirkung.

Diagramm und Kreuztabelle

Die Ad-hoc-Berichterstellung unterstützt die Änderung eines Diagramms und einer Kreuztabelle pro Ad-hoc-Layout. Wenn es in einem Ad-hoc-Layout mehr Diagramme oder Kreuztabellen gibt, werden diese nicht geändert. In einem fertigen Bericht werden die überzähligen Diagramme / Kreuztabellen so dargestellt, wie sie entworfen wurden. In einem echten Layout sind sie unsichtbar, da unzureichend konfigurierte Diagramme und Kreuztabellen nicht angezeigt werden.

Jede Funktion von Diagrammen und Kreuztabellen kann verwendet werden, mit Ausnahme des kombinierten Diagramms.

Spezielle Felder

Jedes Spezialfeld kann zu einem Ad-hoc-Layout hinzugefügt werden. Der Inhalt der folgenden Felder kann vom Benutzer geändert werden:

  • Titel
  • Autor
  • Kommentar

Die folgenden Felder können vom Benutzer deaktiviert werden, wenn sie im Ad-hoc-Layout vorhanden sind:

  • Druckdatum
  • Druckzeit
  • Seitenzahl
  • Datensatz-Nummer

Bitte beachten Sie, dass spezielle Felder, die Informationen über die Gesamtzahl der Seiten des gerenderten Berichts erfordern, dazu führen, dass der gesamte Bericht gerendert wird, bevor die erste Seite angezeigt wird. Wenn diese Felder nicht vorhanden sind, zeigt der Renderer dem Benutzer die erste Seite eines gerenderten Berichts an, sobald diese verfügbar ist.

Die Verwendung spezieller Felder wie "Seitenzahl" kann also die Benutzerfreundlichkeit Ihres Ad-hoc-Layouts verringern.