XdevNMListBox |
Anfang Zurück Vor |
Letzte Änderung 14.02.2014
Die XdevNMListBox löst n:m Beziehungen automatisch auf, stellt die jeweiligen Daten automatisch als Checkbox-Liste dar und ermöglicht das An- und Abwählen entsprechender Werte, z.B. Fahrzeug-Extras wie Klima, Leder, Servo, ABS etc. Datenquelle ist eine n:m Tabelle, die über die Eigenschaft Virtuelle Tabelle mit der XdevNMListBox verknüpft werden muss. Da die n:m Tabelle lediglich die Fremdschlüssel der beteiligten Tabellen enthält, i.d.R. IDs, muss die (virtuelle) n:m Tabelle um eine Spalte erweitert werden, in der die zur Ausgabe in einer Liste geeigneten Daten automatisch hinzugejoint werden. Die Erweiterung der Virtuellen Tabelle lässt sich im Tabellen-Editor durchführen.
Beim Speichern der XdevNMListBox-Auswahl werden die entsprechenden Fremdschlüssel-Kombinationen automatisch in der verknüpften n:m Tabelle abgespeichert. Da hierbei intern mehrere Datensätze gespeichert werden müssen, erfolgt die Speicherung immer als Transaktion. Die Komponente stellt dafür entsprechende Methoden zur Verfügung.
Ist die XdevNMListBox Bestandteil eines Formulars, wird auch die XdevNMListBox-Auswahl von der Formular-Methode save( ) mit abgespeichert. Auch hierbei erfolgt die Speicherung automatisch als Transaktion.
1.Lassen Sie sich ein Formular von der Virtuellen Tabelle Fahrzeuge generieren. Ziehen Sie dazu die Virtuelle Tabelle Fahrzeuge per Drag&Drop in die Arbeitsfläche und übernehmen Sie die Einstellungen im folgenden Formular-Assistenten. 2.Fügen Sie ganz unten im Formular ein weiteres Label per Drag&Drop ein, benennen Sie dieses EXTRAS und fügen Sie daneben eine XdevNMListBox ein. Mit Hilfe der Toolbox können Sie die Elemente im Layout entsprechend ausrichten. 3.Erweitern Sie nun die Virtuelle Tabelle FahrzeugeExtras, indem Sie sich ein Datenfeld für die Ausgabe der Extras generieren lassen, welche dann durch die Erweiterung der Virtuellen Tabelle automatisch hinzu gejoint werden. Dies ist notwendig, weil in FahrzeugeExtras nur die Datenfelder FAHRZEUGE_ID und EXTRAS_ID und somit in dieser Tabelle nur IDs vorhanden sind, die sich jedoch nicht für die Ausgabe in der XdevNMListBox eignen. Klicken Sie dazu die Virtuelle Tabelle FahrzeugeExtras im Projektmanagement mit Doppelklick an, um den Tabellen-Editor zu öffnen. Klicken Sie in der oberen Symbolleiste auf
4.Wechseln Sie zurück in den GUI-Builder und ziehen Sie die Virtuelle Tabelle FahrzeugeExtras aus dem Projektmanagement auf die XdevNMListBox. Wählen Sie dann in den Eigenschaften bei Anzeige (Sichtbarer Eintrag) das Datenfeld EXTRAS_EXTRAS aus, um die Extras in der XdevNMListBox anzuzeigen und wählen Sie bei Wert (Hinterlegte Daten) das Datenfeld EXTRAS_ID aus.
Die XdevNMListBox bietet unterschiedliche Möglichkeiten zum Aufbau der Checkbox-Liste. Die entsprechenden Einstellungen können Sie über die Eigenschaften Layout-Ausrichtung und Sichtbare Zeilen vornehmen.
●Sichtbare Zeilen: Legt die Anzahl der Zeilen in einer XdevNMListBox fest. Falls mehr Einträge als Zeilen vorhanden sind, wird entsprechend weiterer Einstellungen ein Scroller angezeigt oder es werden weitere Spalten angelegt. ●Vertikal: Alle Optionsfelder werden in Form einer Liste von oben nach unten dargestellt. ●Horizontal mit Umbruch: Die Optionsfelder werden in der Reihenfolge links nach rechts und von oben nach aufgebaut. ●Vertikal mit Umbruch: Die Optionsfelder werden in der Reihenfolge oben nach unten und von links nach rechts aufgebaut.
Überträgt alle Daten der Virtuellen Tabelle in die XdevNMListBox. Mit String ItemCol legen Sie fest, aus welcher Spalte die Listen-Einträge ausgelesen werden und mit String dataCol geben Sie an, in welcher Spalte die IDs der Listen-Einträge stehen. Wichtigste Überladungen: ●setModel(VirtualTable vt, String itemCol, String dataCol) ●vt - Die Virtuelle Tabelle, welche als Model für diese XdevNMListBox genutzt werden soll. ●itemCol - Die Spalte, die zur Darstellung der Inhalte des Datensatzes genutzt wird und den sichtbaren Eintrag für die XdevNMListBox enthält. ●dataCol - Die Datenspalte, welche zur Identifizierung des Datensatzes benötigt wird, normalerweise die Primärschlüsselspalte.
●setModel(VirtualTable vt, String itemCol, String dataCol, boolean queryData) ●vt - Die Virtuelle Tabelle, welche als Model für diese XdevNMListBox genutzt werden soll. ●itemCol - Die Spalte, die zur Darstellung der Inhalte des Datensatzes genutzt wird und den sichtbaren Eintrag für die ListBox enthält. ●dataCol - Die Datenspalte, welche zur Identifizierung des Datensatzes benötigt wird, normalerweise die Primärschlüsselspalte. ●queryData - Legt fest, ob die Daten aus der Datenbank geladen werden sollen.
Legt die ItemList fest, welche die Einträge der XdevNMListBox enthält und löscht danach die vorherige Auswahl. Weitere Informationen zu ItemLists finden Sie in der JavaDoc. ●itemList - Die ItemList mit den Einträgen, mit denen die XdevNMListBox gefüllt werden soll.
Gibt den Index des aktuell ausgewählten Datensatzes zurück ●Rückgabewert: Der Index des aktuell ausgewählten Datensatzes als int. Ist kein Eintrag ausgewählt, so wird -1 zurückgegeben.
Gibt die Indizes der aktuell ausgewählten Datensätze zurück. ●Rückgabewert: Die Indizes der aktuell ausgewählten Datensätze in aufsteigender Reihenfolge als int-Array. Ist kein Eintrag ausgewählt, so wird ein leeres Array zurückgegeben.
Gibt die Werte des ausgewählten Datensatzes zurück. ●Rückgabewert: Der Wert des ausgewählten Datensatzes als Object. Ist kein Eintrag ausgewählt, so wird null zurückgegeben.
Gibt die Werte der ausgewählten Datensätze zurück. ●Rückgabewert: Die Werte der ausgewählten Datensätze als XdevList<Object>. Ist kein Eintrag ausgewählt, so wird eine leere Liste zurückgegeben.
Gibt die Zeile der Virtuellen Tabelle zurück, welche dem ausgewählten Eintrag entspricht. ●Rückgabewert: Die aktuell ausgewählte Zeile der Virtuellen Tabelle als VirtualTableRow-Objekt. Ist kein Eintrag ausgewählt, so wird null zurückgegeben.
Gibt die Zeilen der Virtuellen Tabelle zurück, welche den ausgewählten Einträgen entspricht. ●Rückgabewert: Die aktuell ausgewählten Zeilen der Virtuellen Tabelle als VirtualTableRow-Array. Ist kein Eintrag ausgewählt, so wird ein leeres Array zurückgegeben.
|