XdevListSelect
Die XdevListSelect ist eine Dropdown-Liste, aus der Anwender einen Wert auswählen können. Auch eine Mehrfachauswahl ist optional möglich. Die Dropdown-Liste enthält meistens die Werte einer Spalte einer Datenbanktabelle.
Die XdevListSelect ist eine Formular-Komponente und kann via XdevFieldGroup persistiert werden.
Wichtige Properties:
Wichtige Events:
Databinding:
Daten-Container (Model)
XdevBeanItemContainer - Standard Daten-Container. Die Zuweisung erfolgt mit der Methode setContainerDataSource.
// Generates a new XdevBeanItemContainer 'productList' XdevBeanItemContainer<Product> productList = new XdevBeanItemContainer<Product>(Product.class); // Sets the XdevBeanItemContainer listSelect.setContainerDataSource(productList);XdevLazyEntityContainer - Wird ausschließlich von RapidClipse verwendet, wenn die Property Entity > Auto query data selektiert ist.
Examples:
Selektierung zurücksetzen - Setzt die Selektierung auf den Ausgangszustand. Dies löst ein valueChange Event aus.
listSelect.clear();Fokus setzen - Weist dem XdevListSelect den Focus zu. Dies kann ggf. ein focus Event auslösen.
listSelect.focus();
Einträge hinzufügen - Weist dem XdevListSelect manuell Einträge hinzu.
listSelect.addItem("Eintrag 1"); listSelect.addItem("Eintrag 2");Direkte Zuweisung mehrerer Einträge.
listSelect.addItems("Eintrag 1", "Eintrag 2", "Eintrag 3", "Eintrag 4");Selektiertes Objekt - Liefert das selektierte Objekt zurück (Entity) - Beispiel mit Category Entity
BeanItem<Category> selectedItem = listSelect.getSelectedItem(); Category category = selectedItem.getBean();oder
Category Category = (Category)listSelect.getValue();oder - Liefert eine Liste aller selektierten Elemente
List<BeanItem<Category>> selectedItems = listSelect.getSelectedItems();Elemente entfernen - Entfernt alle Elemente aus der XdevListSelect
listSelect.removeAllItems();Element selektieren - Automatisches Selektieren eines Eintrages - Beispiel: erster Eintrag.
Collection<?> itemIds = listSelect.getItemIds(); listSelect.setValue(((List<Category>)itemIds).get(0));