Dynamische Zeilen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Designobjekte/Funktionen > Tabellen >

Dynamische Zeilen

Dynamische Zeilen funktionieren folgendermaßen:

 

Eine dynamische Zeile wird mit der einem wiederholenden Element in einer Seitenquelle verknüpft.
Wenn die Tabelle dargestellt wird, wird die Anzahl der Zeilen darin dynamisch an die Anzahl der Instanzen des sich wiederholenden Elements angepasst. Jede Tabellenzeile entspricht einer Instanz des sich wiederholenden Elements.
Wenn Sie die dynamische Zeile definieren, können Sie festlegen, wie viele Zeilen für jede Elementinstanz wiederholt werden sollen. So können Sie etwa definieren, dass jede dynamische (oder sich wiederholende) Zeilengruppe zwei Zeilen enthält. In diesem Fall wird die gesamte Zeilengruppe von zwei Zeilen für jede Elementinstanz generiert.
Der Kontext-Node für jede dynamische Zeile (oder Zeilengruppe) ist die jeweilige Elementinstanz.
Auch ein Anhängen/Löschen-Steuerelement kann zur Tabelle hinzugefügt werden. Dadurch kann der Endbenutzer neue Zeilen zur Tabelle hinzufügen und einzelne Zeilen löschen. Wenn der Benutzer z.B. eine Zeile hinzufügt, wird eine neue Instanz des damit verknüpften Tabellenelements zur Struktur der Seitenquelle hinzugefügt. Diese Änderungen können in der Seitenquelle gespeichert werden, wodurch die Endbenutzer die Seitenquelle modifizieren können.

 

Eine Tabelle mit dynamischen Zeilen wird zu dem Zeitpunkt, zu dem Sie das Steuerelement "Tabelle" in das Design ziehen, definiert.

 

Beispiel

Ein Element Person in der Seitenquelle enthält eine sich wiederholende Struktur (z.B. die Elemente First, Last und Phone). Das Element Person (seine Instanzen) kann mehrmals vorkommen. Wenn eine dynamische Zeile (genauer gesagt eine Zeilengruppe) mit dem Element Person verknüpft wird, so wird die Tabelle mit genau so vielen Zeilen(gruppen) erstellt, wie es Person-Elemente gibt (siehe Tabelle unten). Wenn sich die Anzahl der Person-Elemente in der Seitenquelle ändert, ändert sich auch automatisch die Anzahl der Zeilen in der Tabelle.

 

 

<First>

<Last>

<Phone>

<Person>

 

 

 

<Person>

 

 

 

<Person>

 

 

 

 

Das Design in der Abbildung unten enthält eine Tabelle, die eine einzige dynamische Zeile(ngruppe) enthält. Die Zeilengruppe ist mit dem Element Person verknüpft und besteht aus einer Zeile und vier Spalten.

MTDTablesDynamicRowsDes02

Für jede Instanz des mit der Zeilengruppe verknüpften Elements wird die gesamte Zeilengruppe generiert. XPath-Ausdrücke in der Zeilengruppe werden mit der aktuellen Instanz des verknüpften Elements als Kontext-Node aufgelöst.

 

Anmerkung:Ein Datenstream kann anhand eines XPath/XQuery-Ausdrucks generiert und als Datenquelle verwendet werden. Diese Art von Datenquelle wird jedoch nur für die aktuelle Verwendung erstellt und kann nicht als Seitenquelle für die Verwendung an einer anderen Stelle im Dokument aufgerufen werden.

 

Unterschied zwischen einer sich wiederholenden Tabelle und einer Tabelle mit dynamischen Zeilen

Eine sich wiederholende Tabelle unterscheidet sich auf die folgenden Arten von einer Tabelle mit dynamischen Zeilen:

 

In einer sich wiederholenden Tabelle wird die gesamte Tabelle mit der sich wiederholenden Datenstruktur verknüpft. Für jede Instanz wird eine neue Tabelle generiert.
In einer Tabelle mit dynamischen Zeilen wird eine Tabellenzeilengruppe mit der sich wiederholenden Struktur verknüpft.

 

Dieser Unterschied wirkt sich im Design folgendermaßen aus:

Eine Tabelle mit dynamischen Zeilen kann eine Kopf- und/oder Fußzeile haben, die auf die gesamte Tabelle angewendet wird. Es handelt sich um eine Kopf-/Fußzeile für die Tabelle. Wenn eine Kopf-/Fußzeile für eine sich wiederholende Tabelle erforderlich ist, kann sie manuell außerhalb der sich wiederholenden Tabelle hinzugefügt werden. Wenn sie innerhalb der sich wiederholenden Tabelle hinzugefügt wird, so werden diese Kopf-/Fußzeilen für jede Tabelle und jede Elementinstanz wiederholt.
Da Tabellen auf einem Gerätedisplay normalerweise mit einem Abstand oberhalb und unterhalb davon dargestellt werden, enthalten sich wiederholende Tabellen einen vertikalen Abstand zwischen jedem Paar sich wiederholender Tabellen.

 

Um eine sich wiederholende Tabelle nach ihrer Erstellung in eine Tabelle mit dynamischen Zeilen umzuwandeln, klicken Sie mit der rechten Maustaste auf die Tabellenzeile, die Sie in eine dynamische Zeile konvertieren möchten, und wählen Sie anschließend Dynamische oder wiederholte Tabelle | Diese Zeile in wiederholte Zeile konvertieren.

 

Erstellen einer Tabelle mit dynamischen Zeilen

So definieren Sie eine Tabelle mit dynamischen Zeilen:

 

1.Im Dialogfeld "Neue Tabelle", das angezeigt wird, wenn das Steuerelement in das Design gezogen wird (Abbildung unten), muss die Option Tabelle wiederholt sich deaktiviert sein. Wählen Sie anschließend Dynamische Anzahl von Zeilen. Daraufhin wird eine Tabelle erstellt, die eine dynamische Tabellenzeilengruppe enthält.

Click to expand/collapse

2.Definieren Sie die Anzahl der Spalten für die Tabelle und die Anzahl der Zeilen für die Zeilengruppe (die Zeilen bilden zusammen die Zeilengruppe). Sie können auch festlegen, dass die Tabelle eine Kopf- und/oder eine Fußzeile haben soll.
3.Definieren Sie, ob automatische Anhängen/Löschen-Steuerelemente hinzugefügt werden sollen. Wenn Sie diese hinzufügen, wird zu jeder sich wiederholenden Zeile in der Lösung eine Löschen-Schaltfläche angezeigt und die Tabelle hat eine Anhängen-Schaltfläche, über die eine Zeilengruppe angehängt werden kann (siehe Abbildung einer simulierten Lösung unten).

MTDTableDynamicAppendDeleteCtrls

4.Wenn Sie im Dialogfeld "Neue Tabelle" auf OK klicken, wird die Tabelle zum Design hinzugefügt.
5.Die sich wiederholende Zeilengruppe muss nun mit dem sich wiederholenden Element aus der Seitenquelle verknüpft werden. Verknüpfen Sie die Zeilengruppe mit einem sich wiederholenden Element, indem Sie das Element aus dem Fenster "Seitenquellen" in die Tabelle ziehen. Für jede Instanz dieses Elements wird eine Zeilen(gruppe) in der Tabelle generiert. Die aktuelle Instanz bildet auch den Kontext-Node von XPath-Ausdrücken innerhalb der Zeilengruppe.
6.Sie können nun Inhalt zu den Zellen der Tabelle hinzufügen. Der Kontext-Node für XPath-Ausdrücke in Tabellenzellen ist der mit der dynamischen Zeilee verknüpfte Element-Node (siehe vorheriger Schritt). Um den Kontext-Node zu verwenden, sollten XPath-Ausdrücke in Tabellenzellen relativ zum Kontext-Node sein. Bei Zelleninhalt kann es sich um eine geschachtelte Tabelle (statisch oder dynamisch), ein Seitensteuerelement (mit oder ohne Link zu einem Seitenquellen-Node)  oder sogar um Seitenquellen-Nodes handeln. Wenn ein Seitenquellen-Node in eine Zelle gezogen wird, so sind die Daten in dieser Zelle editierbar. In der Abbildung unten wurden vier Steuerelemente hinzugefügt: (von links nach rechts:) eine Beschriftung, ein Bearbeitungsfeld, eine Beschriftung und ein Bearbeitungsfeld.

MTDTableDynamic02
 

Anhand dieser dynamischen Zeile wird in der MobileTogether-Lösung die folgende Struktur erzeugt.
 
MTDTableDynamicAppendDeleteCtrls

Informationen zum Überspannen dynamischer Spalten finden Sie im Abschnitt Verbinden und Überspannen von Zeilen/Spalten.

 

Im Kontextmenü der Tabelle finden Sie Befehle zum Umstrukturieren der Tabelle. Im Fenster "Stile & Eigenschaften" befinden sich die Tabellenformatierungseigenschaften. Siehe auch Sich wiederholende Tabellen und Dynamische Spalten.

 


© 2019 Altova GmbH