Show TOC

HintergrundMapping definieren Dieses Dokument in der Navigationsstruktur finden

 

Um einen Datenaustausch zu ermöglichen, können Sie Knoten eines Contextes an solche aus dem Context eines anderen Controllers binden. Dieses Vorgehen wird Definieren eines Mappings genannt. Sie definieren ein Mapping jeweils für einen Knoten des Contextes, den Sie gerade bearbeiten. Als Ziel-Objekte für ein Mapping stehen Ihnen grundsätzlich die Contexte aller View-übergreifenden Controller der aktuellen Component zur Verfügung. Zusätzlich können die Contexte der Interface-Controller verwendeter Components für ein Mapping genutzt werden.

Achtung Achtung

Unabhängig davon, ob Sie für das Definieren eines Mapping einen Controller der aktuellen oder einer fremden Component verwenden wollen, muss auf der Registerkarte Eigenschaften des aktuellen Controllers eine Verwendungs-Deklaration für den für ein Mapping vorgesehenen Controller eingetragen sein.

Ende der Warnung.

Sie können die nötige Controller-Verwendung auch direkt von der Registerkarte Context aus anlegen, indem Sie Verwendete Controller über der linken Context-Anzeige auswählen. Sie bekommen dann in einem neuen Fenster alle verfügbaren Controller zur Auswahl angeboten, das heisst, alle in Frage kommenden Controller Ihrer aktuellen Component sowie die Interface-Controller aller Components, für die eine Component-Verwendung deklariert wurde.

Hinweis Hinweis

Ein Mapping zwischen zwei Knoten des selben Contextes ist ebenso wenig möglich wie ein Mapping auf den Context einer View.

Ein Mapping, das zu einer rekursiven Mapping-Beziehung führen würde, ist ebenfalls nicht möglich und wird daher von der Workbench nicht zugelassen.

Es ist nicht möglich, ein Mapping für den Wurzelknoten CONTEXT zu definieren. Für die Erzeugung eines Mappings ist es daher Voraussetzung, dass zunächst ein Knoten unterhalb des Wurzelknotens angelegt wurde. Sie können jedoch für diesen Unterknoten eines Wurzelknotens ein Mapping auf den Wurzelknoten eines anderen Contextes definieren.

Ende des Hinweises.

Die Abbildung wird im Begleittext erläutert.

Wenn die Struktur des Knotens, auf den ein Mapping definiert wurde, im Knoten des aktuell bearbeiteten Contextes noch nicht vorhanden ist, so wird sie im Rahmen des Vorgangs der Mapping-Definition dort angelegt.

Die Abbildung wird im Begleittext erläutert.

Erzeugen eines Mappings per Drag&Drop

Die einfachste Möglichkeit ein Mapping zu erzeugen besteht darin, den gewünschten Context-Knoten des verwendeten Controllers zu markieren und anschließend bei gedrückter Maustaste auf den gewünschten Knoten des aktuell bearbeiteten Controller-Contexts zu ziehen. Nach dem Bestätigen des folgenden Dialogfensters ist der Context-Knoten des fremden Controllers-Contexts in den des aktuell bearbeiteten Contexts hinein kopiert worden, und gleichzeitig wurde das gewünschte Mapping dieser Kopie auf den Knoten im ursprünglichen Context definiert.

Mapping aktualisieren

Wurden innerhalb des Knotens, auf den ein Mapping definiert wurde (in der oben stehenden Grafik ist dies der Context des Component-Controllers), Änderungen vorgenommen, führt dies zu einem inkonsistenten Zustand des Mappings. Bei der Prüfung bzw. Aktivierung des Contextes, der den Knoten enthält, für den das Mapping definiert wurde (im oberen Beispiel ist dies der Context die View 1), wird in diesem Fall eine Fehlermeldung ausgegeben. Zur Beseitigung dieser Inkonsistenz wählen Sie im Kontextmenü des betreffenden Knotens (im oberen Beispiel also der Knoten Node 1) den Eintrag Aktualisieren Mapping. Dies hat zur Folge, dass die Elemente des Knotens des aktuellen Contexts wieder an die Elemente des Knotens, auf den das Mapping definiert wurde, angeglichen werden.

Achtung Achtung

Mit der Aktualisierung eines View-Context-Knotens kann wiederum eine Inkonsistenz zu vorhandenen Datenbindungs-Definitionen zu UI-Elementen einher gehen. Prüfen Sie daher, ob nach der Aktualisierung des Mappings die Datenbindungen der UI-Elemente an die Elemente des Context-Knotens noch korrekt sind.

Ende der Warnung.
Mapping löschen

Sie können ein Mapping zwischen zwei Context-Knoten wieder entfernen, indem Sie im Kontextmenü Löschen Mapping wählen.