Altova MobileTogether Designer

Dynamische Tabelle mit sich wiederholenden Zeilen

Zur Startseite Zurück Nach oben Weiter

Eine dynamische Tabellen mit sich wiederholenden Zeilen funktioniert folgendermaßen:

 

Eine sich wiederholende Zeile wird mit einem sich 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 eine Tabelle mit sich wiederholenden Zeilen definieren, können Sie festlegen, wie viele Zeilen für jede Elementinstanz wiederholt werden sollen. So können Sie etwa definieren, dass jede sich wiederholende Zeilengruppe zwei Zeilen enthält. In diesem Fall werden für jede Instanz des sich wiederholenden Elements zwei Zeilen generiert. Da die Tabelleneinheit, die dem sich wiederholenden Datenelement entspricht, mehr als eine Zeile enthalten kann, bezeichnen wir diese Einheit als Tabellenzeilengruppe. Das heißt, genauer gesagt, ist es die Zeilengruppe, die sich wiederholt.

Der Kontext-Node der einzelnen sich wiederholenden Zeilengruppen ist die spezifische Instanz des sich wiederholenden Elements in der Datenquelle.

Es kann ein Anhängen/Löschen-Steuerelement zur Tabelle hinzugefügt werden. Dadurch kann der Endbenutzer eine neue Zeilengruppe hinzufügen und einzelne Zeilengruppen löschen. Jede zusätzlich hinzugefügte/gelöschte Zeilengruppe entspricht einer Instanz des sich wiederholenden Datenelements. Der Endbenutzer kann Änderungen wieder in der Datenquelle speichern.

Sie können eine Mischung aus statischen und sich wiederholenden Zeilen verwenden. Folglich kann zwischen zwei sich wiederholende Zeilengruppen eine statische Zeile eingefügt werden.

Sie können für jede Tabelle mit sich wiederholenden Zeilen über das Kontextmenü eine Kopf- oder Fußzeile hinzufügen. In diesem Fall hätte die gesamte Tabelle eine Kopf- oder Fußzeile und die sich wiederholenden Zeilengruppen würden innerhalb des Tabellenkörpers generiert.

Wenn eine Tabelle mit sich wiederholenden Zeilen eine Kopf- oder Fußzeile hat, können Sie die gesamte Komponentengruppe über das Kontextmenü in eine sich wiederholende Tabelle konvertieren. In diesem Fall werden alle Komponenten der sich wiederholende Tabelle für jede Instanz des sich wiederholenden Datenelements wiederholt.

Eine dynamische Tabelle kann mehr als eine Zeilengruppe enthalten.

 

Eine dynamische Tabelle mit sich wiederholenden 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 Tabellenzeilengruppe mit dem Element Person verknüpft wird, so wird die Tabelle mit genau so vielen Tabellenzeilengruppen 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 sich wiederholende Tabellenzeilengruppe 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 dynamischen Tabelle mit sich wiederholenden Zeilen

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

 

In einer sich wiederholenden Tabelle ist die gesamte Tabelle mit dem sich wiederholenden Element der Datenstruktur verknüpft. Für jede Instanz des sich wiederholenden Datenelements wird eine neue Tabelle generiert.

In einer dynamischen Tabelle mit sich wiederholenden Zeilen ist eine Tabellenzeilengruppe innerhalb der Tabelle mit dem sich wiederholenden Element der Datenquelle verknüpft. Für jede Instanz des sich wiederholenden Elements wird eine einzige Tabellenzeilengruppe generiert.

 

Dieser Unterschied wirkt sich im Design folgendermaßen aus:

 

Eine dynamische Tabelle mit sich wiederholenden Zeilen kann eine Kopf- und/oder Fußzeile haben, die auf die gesamte Tabelle angewendet wird. Wenn jedoch eine Kopf-/Fußzeile für eine sich wiederholende Tabelle erforderlich ist, sollte sie außerhalb der sich wiederholenden Tabelle hinzugefügt werden. Wenn sie innerhalb der Tabelle hinzugefügt wird, wiederholt sich auch die Kopf-/Fußzeile bei jeder Wiederholung der Tabelle.

Da Tabellen auf einem Gerätedisplay normalerweise mit einem Abstand oberhalb und unterhalb davon dargestellt werden, wird eventuell ein vertikaler Abstand zwischen jedem Paar sich wiederholender Tabellen angezeigt.

 

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. Über den Kontextmenübefehl Dynamische oder wiederholte Tabelle können Sie eine Kopf- oder Fußzeile zu einer sich wiederholenden Zeile hinzufügen.

 

Erstellen einer Tabelle mit sich wiederholenden Zeilen

So definieren Sie eine Tabelle mit sich wiederholenden 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 einzige sich wiederholende Tabellenzeilengruppe enthält.

Zum Erweitern/Reduzieren klicken

2.Definieren Sie die Anzahl der Spalten für die Tabelle und die Anzahl der Zeilen für die Zeilengruppe (diese 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 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 Zeilengruppe in der Tabelle generiert.

6.Sie können nun Inhalt zu den Zellen der Tabelle hinzufügen. Der Kontext-Node für XPath-Ausdrücke in Tabellenzellen ist die spezifische Instanz des Element-Nodes, der mit der dynamischen Zeilengruppe verknüpft ist (siehe vorheriger Schritt). 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.

 

Befehle zur Umstrukturierung von Tabellen stehen im Kontextmenü der Tabelle zur Verfügung. Tabellenformatierungseigenschaften finden Sie im Fenster "Stile & Eigenschaften". Siehe auch Sich wiederholende Tabellen und Dynamische Spalten.

 

Hinzufügen von zusätzlichen Tabellenzeilengruppen

Sie können jede der verfügbaren Methoden zur Tabellenerstellung verwenden, um zusätzliche Tabellenzeilengruppen hinzuzufügen. So können Sie z.B. eine statische Zeile hinzufügen und diese in eine Tabellenzeilengruppe konvertieren oder eine Tabelle mit sich wiederholenden Zeilen hinzufügen.

 

© 2017-2023 Altova GmbH