Die XdevTreeTable ist eine erweiterte XdevTable, bei der in der ersten Spalte ein 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:
Auto query data - Führt automatisch eine Datenbankabfrage durch und füllt das mit der UI-Komponente verknüpfte Entity. Daten, die nicht angezeigt werden können, werden lazy nachgeladen (Lazy-Loading). Als Daten-Container wird der XdevLazyEntityContainer verwendet.
Caption - Zeigt den Text als Beschriftung an.
Entity - Verknüpft das zugewiesene Entity mit der UI-Komponente.
- Properties - Zeigt in der UI-Komponente die Attribute des verknüpften Entites an, die hier angegeben werden, z.B. {%company}. Es können auch mehrere Attribute angezeigt werden, z.B. {%company}, {%carmodels}, {%price}. Dadurch werden die ggf. gesetzten Einstellung im Entity Editor bei Settings > Entity caption sowie bei Properties > ItemCaptionValue überschrieben.
- Data - Verwendet anstelle der Standard-Abfragestrategie Auto query data die Abfrage-Methode findAll oder eine benutzerdefinierte Abfrage-Methode. findAll überträgt das gesamte Abfrageergebnis und verwendet als Daten-Container den XdevBeanItemContainer. Lazy-Loading wird nicht unterstützt.
- Hierarchy - Nur bei XdevTree.
ItemCaptionFromAnnotation - Zeigt in der UI-Komponente die Attribute des verknüpften Entites an, die im Entity Editor bei Settings > Entity caption global definiert wurden, z.B. {%company}, {%carmodels}, {%price}.
ItemCaptionValue - Zeigt in der UI-Komponente die Attribute des verknüpften Entites an, die hier angegeben werden, z.B. {%company}. Es können auch mehrere Attribute angezeigt werden, z.B. {%company}, {%carmodels}, {%price}. Dadurch wird die ggf. gesetzte, globale Einstellung im Entity Editor bei Settings > Entity caption überschrieben.
Description - Text, der zur Laufzeit bei Mausberührung als Tooltip angezeigt wird.
- Preload all - Lädt initial den gesamten Tree.
- ReadOnly
Required - Die Formular-Komponente wird als Pflichtfeld definiert, das ausgefüllt, selektiert oder bei der eine Auswahl vorgenommen werden muss.
RequiredError - Fehlermeldung die angezeigt wird, wenn die als Pflichtfeld definierte Formular-Komponente nicht ausgefüllt, selektiert oder wenn keine Auswahl vorgenommen wurde.
TabIndex - Definiert die Reihenfolge im Tab-Index. Der Tab-Index definiert die Reihenfolge mehrerer UI-Komponenten, die durch Drücken der Tab Taste nacheinander selektiert werden.
Wichtige Events:
- Misc
- nodeCollapse - .
- nodeExpand - .
- itemClick - .
- valueChange - .
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 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.
comboBox.addItem("Eintrag 1"); comboBox.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
Category Category = comboBox.getSelectedItem();
oder
Category Category = (Category)comboBox.getValue();
Elemente Entfernen - Entfernt alle Elemente aus der XdevComboBox
comboBox.removeAllItems();
Element Selektieren - Automatisches Selektieren eines Eintrages - Beispiel: erster Eintrag.
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.
comboBox.clear();
Beliebigen Wert des selektierten Objektes auslesen - Beispiel: "Categoryname"
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.
XdevBeanContainer<Product> productContainer = comboBox.getContainerDataSource();
Alle XdevTree Methoden
Hinweis:
- X