Master-Detail

Anfang  Zurück  Vor

Letzte Änderung 13.02.2014

 

Master-Detail ist eine häufig verwendetes Filter-Konzept, mit der sich ein Suchergebnis systematisch und auf sehr übersichtliche Weise eingrenzen lässt. Bei einer Master-Detail Ansicht werden (1:n) Daten hierarchisch von oben nach unten gefiltert angezeigt, wobei jede Hierarchie mit einer eigenen GUI-Komponente abgebildet wird. Die Master-Komponente übernimmt dabei das Filtern der Daten, während die Detail-Komponente das Suchergebnis anzeigt. Der Aufbau einer Master-Detail Ansicht wird immer von dem zugrunde liegenden Entity-Relationship (ER) Modell abgeleitet, genau genommen von Tabellen, die miteinander 1:n verknüpft sind, z.B. Tabelle Hersteller (Master, da Kardinalität 1) und Tabelle Modelle (Detail, da Kardinalität n). Bei komplexeren Hierarchien, z.B. Hersteller, Modelle, Fahrzeuge, können die Hierarchien durch Verkettung mehrerer GUI-Komponenten abgebildet werden. Umso mehr Hierarchien dabei ein Master-Detail Konstrukt abbildet, desto genauer lässt sich damit das Suchergebnis eingrenzen.

 

In XDEV 5 können Sie eine Master-Detail Ansicht sehr leicht und völlig ohne Programmierung konstruieren. Dazu müssen Sie lediglich zwei GUI-Komponenten miteinander verknüpfen und über Eigenschaft Master-Komponente die Master-Komponente festlegen. Als Master-Detail Komponenten können Sie List- und ComboBoxen sowie Tables verwenden. Anschließend müssen Sie die Komponenten nur noch mit einer entsprechenden Virtuellen Tabelle verknüpfen aus der die Daten kommen werden. Mit Setzen der Option Daten beim Start laden werden die Master-Detail Komponenten sogar automatisch mit Daten gefüllt. Diese Funktion setzt jedoch voraus, dass Sie ein ER-Diagramm in XDEV 5 angelegt haben, in dem die Verknüpfungen zwischen den einzelnen Tabellen definiert sind.

 

 

187

Für die Umsetzung einer Master-Detail Ansicht können Sie verschiedene Auswahl-Komponenten beliebig miteinander verknüpfen.

 

 

clip0188

Die Hierarchie des Master-Detail Konstrukts wird von 1:n Verknüpfungen im ER-Diagramm abgeleitet.

 

Hinweis: Das Auslassen einer Hierarchie ist mit dem von XDEV 5 zur Verfügung gestellten Master-Detail Automatismus nicht möglich. Eine programmatische Lösung ist jedoch nicht allzu aufwändig.

 

 

Tutorial Master-Detail mit XdevComboBox und XdevTable

 

clip0185

 

1.Fügen Sie eine ComboBox in die Arbeitsfläche, ziehen Sie die Virtuelle Tabelle Hersteller per Drag&Drop auf die ComboBox und selektieren Sie in den Eigenschaften die Option Daten beim Start laden.

clip0186

2.Fügen Sie darunter eine zweite ComboBox in die Arbeitsfläche ein und ziehen Sie die Virtuelle Tabelle Modelle per Drag&Drop auf die zweite ComboBox

3.Verknüpfen Sie nun beide ComboBoxen miteinander. Klicken Sie dazu in den Eigenschaften der zweiten ComboBox bei Master-Komponente auf moredetails und klicken Sie danach die erste ComboBox an, um diese als Master-Komponente festzulegen.

clip0189

4.Fügen Sie darunter eine Table in die Arbeitsfläche ein und ziehen Sie die Virtuelle Tabelle Fahrzeuge per Drag&Drop auf die Table.

5.Verknüpfen Sie nun die Table mit der zweiten ComboBox. Klicken Sie dazu in den Eigenschaften der Table bei Master-Komponente auf moredetails und klicken Sie danach die zweite ComboBox an, um diese als Master-Komponente festzulegen.

clip0190

 

 

 

Master-Detail bei Formularen

 

Der Formular-Assistent kann ein Formular lediglich von einer einzigen Virtuellen Tabelle, z.B. Fahrzeuge, ableiten und automatisch generieren. Master-Detail Filter, welche die Auswahlmöglichkeiten einzelner Formular-Komponenten reduzieren und ein Formular dadurch in vielen Fällen leichter benutzbar machen, sind dagegen optionale Steuerelemente die Sie bei Bedarf selber ergänzen müssen, z.B. die Auswahl eines Herstellers zur Eingrenzung der Auswahl von Modellen.

 

 

ER-Diagramm HERSTELLER - MODELLE - FAHRZEUGE

clip0188

Das Datenfeld MODELL ist direkt mit der Haupttabelle Fahrzeuge verknüpft, sodass dafür eine Formular-Kompnente generiert werden kann.

Das Datenfeld MARKE ist nur indirekt mit der Haupttabelle Fahrzeuge verknüpft, sodass dafür keine Formular-Komponente generiert werden kann.

 

GENERIERTES FORMULAR "FAHRZEUGE"

clip0229

Beim generierten Formular muss eine Marken-Auswahl bei Bedarf manuell hinzugefügt werden.

 

 

 

1.Lassen Sie sich zuerst ein Formular generieren. Ziehen Sie dazu die Virtuelle Tabelle Fahrzeuge per Drag&Drop in die Arbeitsfläche ein und übernehmen Sie die Standardeinstellungen im folgenden Formular-Assistenten.

2.Fügen Sie eine ComboBox über der Modell-ComboBox ein. Fügen Sie zur Beschriftung rechts daneben ein Label ein und benennen Sie dieses in MARKE um.

clip0227

3.Klicken Sie im Projektmanagement die Virtuelle Tabelle Hersteller an und ziehen Sie diese per Drag&Drop auf die neue ComboBox bei MARKE, um diese bei der Initialisierung mit Marken zu füllen.

4.Klicken Sie nun die Modell-ComboBox an. Klicken Sie in den Eigenschaften bei Master-Komponente auf   und klicken Sie dann die neue Marken-ComboBox an, um diese als Master-Komponente zu definieren.

clip0228

 

Wenn das Formular mit einem Datensatz gefüllt wird, wird auch die verknüpfte Master-ComboBox korrekt angesteuert, sodass Sie dies nicht aufwändig programmieren müssen.

 

Hinweis: Die Master-ComboBox MARKE muss sich nicht zwingend im Formular befinden, da der ausgewählte Wert nicht zum Fahrzeug-Datensatz gehört, der im Formular angelegt oder editiert wird. Die ausgewählte Marke ist lediglich ein Filter-Kriterium bei der anschließenden, automatischen Füllung der verknüpften Detail-ComboBox MODELLE.