Die Auswahllisten

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

Startseite >  Tutorials > Datenbanken und Diagramme >

Die Auswahllisten

In die zwei Auswahllisten am oberen Rand werden die vom Endbenutzer ausgewählten Einträge übernommen. Anhand dieser Auswahl werden Daten angezeigt. In der Abbildung unten sehen Sie die Auswahllisten bei Ausführung der Lösung. Der Bericht in Tabellenform, der unterhalb der Auswahllisten angezeigt wird, basiert auf den in der Auswahlliste gewählten Einträgen.

MTDDBCSimulatorComboBoxes01

In der nächsten Abbildung sehen Sie die Auswahllisten im Design. Die Auswahllisten wurden zu Layout-Zwecken in separate Zellen einer Tabelle gesetzt.

MTDDBCComboBoxes01

 

Die Auswahliste DesiredOffice

Es wurden die folgenden Einstellungen vorgenommen:

 

Durch Ziehen des Node auf die Auswahlliste wird zwischen der Auswahlliste und dem Node $XML1/root/@DesiredOffice ein Quell-Node-Link hergestellt, damit der in der Auswahlliste gewählte Eintrag an den Node und der Wert des Node an die Auswahlliste übergeben wird.

 

Die Einträge in der Dropdown-Liste der Auswahlliste werden im Dialogfeld "Auswahlliste bearbeiten" (Abbildung unten) definiert. Dieses Dialogfeld wird über die Schaltfläche Zusätzliches Dialogfeld der Eigenschaft Eingabewerte der Auswahlliste (Fenster "Stile & Eigenschaften") aufgerufen.

MTDDBCComboBoxes02

Beachten Sie, dass die Werte in der Dropdown-Liste (d.h. die Namen der Städte) aus dem Node $DB1/DB/RowSet/Row/@City stammen. Der Wert, der (aufgrund des Quell-Node-Link) im Node $XML1/root/@DesiredOffice übernommen wird, stammt jedoch aus dem Node $DB1/DB/RowSet/Row/@id. Da das Kontrollkästchen Werte sortieren aktiviert wurde, werden die Einträge der Dropdown-Liste sortiert.

 

Für das Ereignis BeimBeendenDerBearbeitung wurde die Aktion Node aktualisieren definiert. Klicken Sie mit der rechten Maustaste auf die Auswahlliste und wählen Sie Steuerelementaktionen für BeimBeendenDerBearbeitung, um die Aktionsdefinition anzuzeigen. Der zu aktualisierende Node ist root/@DesiredYear. Der Aktualisierungswert stammt aus einem XPath-Ausdruck: min(distinct-values($DB2/DB/RowSet/Row[@Office=$XML1/root/@DesiredOffice]/@Year)). Dieser Ausdruck wählt alle Datensätze der in der Auswahlliste gewählten Niederlassung aus, ruft anschließend die eindeutigen Jahre aus diesen Datensätzen ab und wählt schließlich das Jahr mit dem niedrigsten numerischen Wert aus.
 
MTDDBCSimulatorComboBoxes01
 
Wenn also in der Auswahlliste "Vienna" ausgewählt wird (siehe Abbildung oben), werden alle Datensätze in $DB2 mit @Office='Vienna' gesucht und es wird eine Sequenz aus den eindeutigen Jahren in diesen Datensätzen erstellt. Das Jahr mit dem niedrigsten numerischen Wert - in diesem Fall 2010 - wird an den zu aktualisierenden Node übergeben - in diesem Fall $XML1/root/@DesiredOffice. Da dieser Node der Quell-Node der zweiten Auswahlliste (der Auswahlliste @DesiredYear) ist, wird in dieser Auswahlliste nun der Wert des niedrigsten Jahres - in diesem Fall 2010 - angezeigt.

 

 

Die Auswahlliste DesiredYear

Es wurden die folgenden Einstellungen vorgenommen:

 

Durch Ziehen des Node auf die Auswahlliste wird zwischen der Auswahlliste und dem Node $XML1/root/@DesiredYear ein Quell-Node-Link hergestellt, damit der in der Auswahlliste gewählte Eintrag an den Node und der Wert des Node an die Auswahlliste übergeben wird.

 

Die Einträge in der Dropdown-Liste der Auswahlliste werden im Dialogfeld "Auswahlliste bearbeiten" (Abbildung unten) definiert. Dieses Dialogfeld wird über die Schaltfläche Zusätzliches Dialogfeld der Eigenschaft Eingabewerte der Auswahlliste (Fenster "Stile & Eigenschaften") aufgerufen.

MTDDBCComboBoxes03

Beachten Sie, dass sowohl die Werte in der Dropdown-Liste als auch diejenigen, die an den XML-Node übergeben werden, dieselben sind. Sie sind die Sequenz aller eindeutigen Jahre, in denen Umsätze für die ausgewählte Niederlassung aufgezeichnet wurden. Da das Kontrollkästchen Werte sortieren aktiviert ist, werden die Einträge der Dropdown-Liste sortiert.

 


© 2019 Altova GmbH