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.
Es stehen zwei Arten von Ad-hoc-Layouts zur Verfügung:
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.
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.
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.
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.
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.
Wenn Sie dem Detailabschnitt eines Berichts mehr als ein Feld hinzufügen, verwendet der Ad-hoc-Bericht feste Spalten.
Fixierte Spaltenlayouts skalieren oder kopieren Felder nicht horizontal. Stattdessen wird das Layout so verwendet, wie es ist.
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.
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.
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.
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.
Jedes Feld, das die Höhe des Versandetiketts überschreitet, wird unsichtbar.
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.
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.
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.
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 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.
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.
Die Formatierung eines Feldes in einem gerenderten Bericht hängt von drei Quellen ab (in aufsteigender Priorität):
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.
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.
Jedes Spezialfeld kann zu einem Ad-hoc-Layout hinzugefügt werden. Der Inhalt der folgenden Felder kann vom Benutzer geändert werden:
Die folgenden Felder können vom Benutzer deaktiviert werden, wenn sie im Ad-hoc-Layout vorhanden sind:
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.