Die XdevTreeTable ist eine erweiterte XdevTable, bei der in welche die Funktionsweise einer Table mit der eines Trees kombiniert. In der ersten Spalte ein wird der Tree angezeigt wird, mit dem sich hierarchische Daten abbilden lassen. Der Anwender kann bei Bedarf einzelne Nodes ein- und ausklappen und wie bei der XdevTable Zeilen selektieren. Anders als bei einem herkömmlichen Tree lassen sich mit einer TreeTable die Daten an einer Node
Wichtige Properties:
...
Eine TreeTable ist dann vorteilhaft, wenn sich die einzelnen Nodes aus mehreren Daten zusammensetzen, die man bei einem herkömmlichen Tree lediglich unstrukturiert aneinanderketten kann. Bei der TreeTable werden die Daten einer Node dagegen übersichtlich auf die nachfolgenden Tabellenspalten verteilt.
Wichtige Properties:
Include Page Property Caption Property Caption Include Page Property Entity Property Entity Include Page Property ItemCaptionFromAnnotation Property ItemCaptionFromAnnotation Include Page Property ItemCaptionValue Property ItemCaptionValue Include Page Property Description Property Description - Preload all - Lädt initial den gesamten Tree.
- ReadOnly
Include Page Property Required Property Required Include Page Property RequiredError Property RequiredError Include Page Property TabIndex Property TabIndex
Wichtige Events:
- Misc
- nodeCollapse - .
- nodeExpand - .
- itemClick - .
- valueChange - .
Databinding:
- Daten-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 XdevTree 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 Category Category = (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 comboBox.clear();
Beliebigen Wert des selektierten Objektes auslesen - Beispiel: "Categoryname"
Code Block language java theme Confluence String categoryName = comboBox.getSelectedItem().getBean().getCategoryname();
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();
...
Hinweis:
...
Databinding:
- Das Databinding für die XdevTreeTable muss selbständig implementiert werden, da RapidClipse für die XdevTreeTable noch kein Databinding zur Verfüfung stellt.
Examples:
Ähnliche wie bei XdevTree
Alle XdevTreeTable Methoden
Hinweis:
- Databinding - Da RapidClipse für die XdevTreeTable noch kein Databinding zur Verfüfung stellt, muss das Databinding aktuell noch selbständig implementiert werden. Siehe Vaadin Dokumentation.