XdevListBox

Anfang  Zurück  Vor

Letzte Änderung 14.02.2014

 

Die XdevListBox ist eine Komponente zur Auswahl von Werten. Die Einträge einer XdevListBox können direkt im Entwurf statisch festgelegt, oder zur Laufzeit dynamisch zugewiesen werden.

 

 

Die itemList

 

Beim Füllen der XdevListBox wird immer die itemList gefüllt. Die itemList ist das Daten-Model für die XdevListBox. Sie besitzt eine Spalte für die in der XdevListBox sichtbaren Einträge sowie eine zusätzliche Spalte, die jedoch unsichtbar bleibt. I.d.R. werden darin die Datensatz-IDs der XdevListBox-Einträge gespeichert. Diese werden benötigt, um einen ausgewählten XdevListBox-Eintrag abspeichern zu können.

 

Darüber hinaus besitzt die itemList einen Index der mit 0 beginnt und immer lückenlos geführt wird. Über den Index ist ein direkter Zugriff auf itemList-Einträge möglich.

 

Hersteller-VT

clip0239

Die Daten der Virtuelle Tabelle ...

 

ListBox ItemList

clip0238

... werden in die itemList der XdevListBox geschrieben ...

 

ListBox Eigenschaften

clip0240

... die Verknüpfung der Spalten erfolgt in den Eigenschaften der XdevListBox.

 

 

 

XdevListBox automatisiert füllen

 

Um eine XdevListBox zu füllen, müssen Sie lediglich eine Virtuelle Tabelle auf die XdevListBox ziehen.

 

1.Fügen Sie eine XdevListBox in die Arbeitsfläche ein.

2.Ziehen Sie die Virtuelle Tabelle Hersteller per Drag&Drop auf die XdevListBox.

 

In den Eigenschaften der XdevListBox wird automatisch die Virtuelle Tabelle zugewiesen sowie die Spalten mit den sichtbaren Einträgen für die XdevListBox und deren jeweilige Datensatz-ID.

 

clip0099

 

 

 

Mehrspaltige XdevListBox

 

Siehe mehrspaltige ComboBox.

 

 

XdevListBox manuell füllen

 

Eine XdevListBox wird i.d.R. bei der Initialisierung gefüllt. Das Füllen erfolgt mit Hilfe der Methode setModel( ). Vorausgehend muss eine Datenbankabfrage erfolgen, z.B. auf die Tabelle Hersteller.

 

@EventHandlerDelegate void listBox_init() 

{

  // Abfrage der Tabelle 'Hersteller'

  listBox.setModel(Hersteller.VT,"MARKE","ID");                

}

 

 

CheckBoxList

 

Die Einträge einer XdevListBox lassen sich auch als CheckBoxList darstellen. Dazu müssen Sie lediglich in den Eigenschaften der XdevListBox die Option CheckBoxListe setzen.

 

clip0241

 

CheckBox Eigenschaften

clip0242

 

 


 

 

Mehrfachauswahl

 

Für die Umsetzung einer Mehrfachauswahl sollten Sie die Komponente XdevNMListBox verwenden.

 

Hinweise: Die XdevListBox unterstützt auch Mehrfachauswahl. Mit gedrückter Shift oder Strg Taste lassen sich auch mehrerer Einträge gleichzeitig selektieren.

 

 

 

Wichtigste Methoden

 

 

setModel

 

Überträgt alle Daten der Virtuellen Tabelle in die XdevListBox. 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 XdevListBox genutzt werden soll.

itemCol - Die Spalte, die zur Darstellung der Inhalte des Datensatzes genutzt wird und den sichtbaren Eintrag für die XdevListBox enthält.

dataCol - Die Datenspalte, welche zur Identifizierung des Datensatzes benötigt wird, normalerweise die Primärschlüsselspalte.

// Hier wird die Virtuelle Tabelle "Modelle" als Model für die XdevListBox festgelegt,
// die Spalte "MODELL" wird als sichtbarer Eintrag definiert und "ID" als Datenspalte
listBox.setModel(Modelle.VT,"MODELL","ID");

 

setModel(VirtualTable vt, String itemCol, String dataCol, boolean queryData)

vt - Die Virtuelle Tabelle, welche als Model für diese XdevListBox genutzt werden soll.

itemCol - Die Spalte, die zur Darstellung der Inhalte des Datensatzes genutzt wird und den sichtbaren Eintrag für die XdevListBox 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.

// Hier wird die Virtuelle Tabelle "Modelle" als Model für die XdevListBox festgelegt,
// die Spalte "MODELL" wird als sichtbarer Eintrag definiert und "ID" als Datenspalte.
// Zudem werden die Daten aus der Datenbank geladen
listBox.setModel(Modelle.VT,"MODELL","ID", true);

 

 

setItemList(ItemList itemList)

 

Legt die ItemList fest, welche die Einträge der XdevListBox 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 XdevListBox gefüllt werden soll.

//Legt "list" als ItemList für die XdevListBox fest
listBox.setItemList(new ItemList());

 

 

getSelectedIndex() : int

 

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 den index des ausgewählten Eintrags zurück
int index = listBox.getSelectedIndex();

 

getSelectedIndices : int[]

 

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 den index des ausgewählten Eintrags zurück
int[] indices = listBox.getSelectedIndices();

 

 

getSelectedData() : Object

 

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 Wert des ausgewählten Eintrags zurück
Object data = listBox.getSelectedData();

 

getSelectedDataAsList() : XdevList<Object>

 

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 Werte der ausgewählten Einträge zurück
XdevList<Object> data = listBox.getSelectedDataAsList();

 

 

getSelectedVirtualTableRow() : VirtualTableRow

 

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 ausgewählte VirtualTableRow der Komponente zurück
VirtualTableRow row = listBox.getSelectedVirtualTableRow();

 

getSelectedVirtualTableRows() : VirtualTableRow[]

 

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.

 

//Gibt die ausgewählten VirtualTableRows der Komponente zurück
VirtualTableRow[] rows = listBox.getSelectedVirtualTableRows();

 

 

 

Tipp: Weitere Informationen zu ItemLists, wie z.B. das Hinzufügen oder löschen von Einträgen finden Sie in der dazugehörigen JavaDoc.