...
Das Eingabefeld einer XdevComboBox ist standardmäßig editierbar. Durch jede Eingabe werden die Einträge der Dropdown-Liste automatisch neu gefiltert. Der Selektierte selektierte Eintrag wird in der XdevComboBox angezeit. Die XdevComboBox ist eine Formular-Komponente und kann via XdevFieldGroup persistiert werden.
Wichtige Properties:
Include Page Property Auto query data Property Auto query data Include Page Property ConnectedForm Property ConnectedForm Include Page Property Entity Property Entity Include Page Property ItemCaptionFromAnnotation Property ItemCaptionFromAnnotation Include Page Property ItemCaptionValue Property ItemCaptionValue Include Page Property Master component Property Master component Include Page Property PageLenght Property PageLenght - ReadOnly
Include Page Property Required Property Required Include Page Property RequiredError Property RequiredError Include Page Property ScrollToSelectedItem Property ScrollToSelectedItem Include Page Property TabIndex Property TabIndex Include Page Property TextInputAllowed Property TextInputAllowed
Wichtige Events:
valueChange - Wird ausgelöst, wenn die Selektierung verändert wurde.Include Page Event valueChange Event valueChange
Databinding:
- Entity - Kann mit einem Entity verknüpft werden.
Examples:
- Datum zuweisen - Weist dem XdevInlineDateField ein Datum zu. Dies löst ein valueChange Event ausDaten-Container (Model)
XdevBeanItemContainer - Standard Daten-Container. Die Zuweisung erfolgt mit der Methode setContainerDataSource.
Code Block language java theme Confluence //
Generates a
new XdevBeanItemContainer 'productList' XdevBeanItemContainer<Product> productList = new
XdevBeanItemContainer<Product>(Product.class);
// Sets the
XdevBeanItemContainer comboBox.setContainerDataSource(productList);
- XdevLazyEntityContainer - Wird ausschließlich von RapidClipse verwendet, wenn die Property Entity > Auto quer data selektiert ist.
Examples:
Einträge hinzufügen - Weist dem XdevComboBox manuell Einträge hinzu.
Code Block language java theme Confluence comboBox.addItem("Eintrag 1"); comboBox.addItem("Eintrag 2");
Direkte Zuweisung mehrerer Einträge.
Code Block language java theme Confluence listSelect.addItems("Eintrag 1", "Eintrag 2", "Eintrag 3", "Eintrag 4");
Selektiertes Objekt - Liefert das selektierte Objekt zurück (Entity) - Beispiel mit Category Entity
Code Block language java theme Confluence Category Category = comboBox.getSelectedItem();
oder
Code Block language java theme Confluence DateCategory dateCategory = inlineDateField.getValue();(Category)comboBox.getValue();
Elemente entfernen - Entfernt alle Elemente aus der XdevComboBox
Code Block language java theme Confluence comboBox.removeAllItems();
Element selektieren - Automatisches Selektieren eines Eintrages - Beispiel: erster Eintrag.
Code Block language java theme Eclipse Collection<?> itemIds = comboBox.getItemIds(); comboBox.setValue(((List<Category>)itemIds).get(0));
Selektierung zurücksetzen - Setzt die Selektierung auf den Ausgangszustand. Dies löst ein valueChange Event aus.
Code Block language java theme Confluence inlineDateFieldcomboBox.clear();
Fokus setzen - Weist dem XdevInlineDateField den Focus zu. Dies kann ggf. ein focus Event auslösen.Beliebigen Wert des selektierten Objektes auslesen - Beispiel: "Categoryname"
Code Block language java theme Confluence inlineDateField.focusString categoryName = comboBox.getSelectedItem().getBean().getCategoryname();
Hinweis:
- Date Methoden deprecated - Zahlreiche Methoden der Klasse Date sind als deprecated gekennzeichnet. Da Vaadin unterstützt aktuell jedoch nur die Klasse Date.
XdevComboBox Daten auslesen - Erzeugt einen neuen XdevBeanContainer productContainer vom Typ Product und weist diesen mit der Methode getContainerDataSource den XdevBeanContainer der XdevComboBox zu.
Code Block language java theme Confluence XdevBeanContainer<Product> productContainer = comboBox.getContainerDataSource();
Alle XdevComboBox Methoden
Hinweis:
- XdevComboBox
...
- > Properties
...
- > FilteringMode
...
- > null
...
- führt zu Fehler.