Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Der XdevTree ist eine Auswahl-Komponente, mit der sich hierarchische Daten abbilden lassen. Jeder Tree hat eine Root node, von der alle anderen Nodes ausgehen. Die Root kann wahlweise angezeigt werden oder nicht. An jeder Node können beliebig viele weitere Nodes hängen, die als Children bezeichnet werden. Eine Node mit Children wird als Parent bezeichnet. Der Anwender kann bei Bedarf einzelne Nodes mit Children ein- und ausklappen und selektieren. Standardmäßig  Standardmäßig werden die Daten erst beim Ausklappen einer Node lazy durch das RapidClipse Framework nachgeladen. Auch Drag-and-Drop wird unterstützt.

...

  • Include Page
    Property Auto query data
    Property Auto query data
  • 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 - Event wird beim Einklappen eines Eintrags ausgelöst.
    • nodeExpand - .
    • itemClick - .
    • valueChange -  Wird ausgelöst, wenn ein Knoten ausgeklappt wird. Die Id des Items kann aus dem Tree.CollapseEvent-Objekt ausgelesen werden.
Databinding:
  • Daten-Container (Model) Einträge hinzufügen - Weist dem XdevTree manuell Einträge hinzu.
    • XdevBeanItemContainer - Standard Daten-Container. Die Zuweisung erfolgt mit der Methode setContainerDataSource. Bei dieser Methode ist allerdings nur eine Element-Ebene möglich.

      Code Block
      languagejava
      themeConfluence
      // Generates a new XdevBeanItemContainer 'productList'
      XdevBeanItemContainer<Product> productList = new XdevBeanItemContainer<Product>(Product.class);
       
      // Sets the XdevBeanItemContainer
      comboBoxtree.setContainerDataSource(productList);
    • XdevLazyEntityContainer

      XdevHierarchicalBeanItemContainer - Wird

      ausschließlich

      von RapidClipse verwendet, wenn

      die Property Entity > Auto quer data selektiert ist.
Examples:
    • der Tree über die Properties konfiguriert wird. 

      Code Block
      languagejava
      themeConfluence
    comboBox
    • tree.
    addItem("Eintrag 1"); comboBox.addItem("Eintrag 2");

    Direkte Zuweisung mehrerer Einträge.

    Code Block
    languagejava
    themeConfluence
    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
    languagejava
    themeConfluence
    Category Category = comboBox.getSelectedItem();

    oder

    Code Block
    languagejava
    themeConfluence
    Category Category = (Category)comboBox.getValue();
  • Elemente Entfernen - Entfernt alle Elemente aus der XdevComboBox

    Code Block
    languagejava
    themeConfluence
    comboBox.removeAllItems();
  • Element Selektieren - Automatisches Selektieren eines Eintrages - Beispiel: erster Eintrag.

    Code Block
    languagejava
    themeEclipse
    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
    languagejava
    themeConfluence
    comboBox.clear();
  • Beliebigen Wert des selektierten Objektes auslesen - Beispiel: "Categoryname"

    Code Block
    languagejava
    themeConfluence
    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
    languagejava
    themeConfluence
    XdevBeanContainer<Product> productContainer = comboBox.getContainerDataSource();

...

Hinweis:
  • X
    • setContainerDataSource(
      	// new TreeDataProvider for this tree. Inserts all root nodes with findAll and defines two additional levels
      	TreeDataProvider.New(DAOs.get(EmployeeDAO.class).findAll())
      		.addLevel(Employee::getOrders).addLevel(Order::getOrderdetails),
      	false
      );
Examples:
  • Root sichtbar oder unsichtbar

  • Initial gesamter Tree ausgeklappt / zugeklappt

  • Selektierte Node zurückgeben

  • Bestimmte Node finden

  • Node per Drag-and-Drop verschieben

  • Mehrere Werte an eine Node hängen mit Semikolon getrennt

  • Neue Node hinzufügen

  • Selektierte Node entfernen

  • Einträge hinzufügen - Weist dem XdevTree manuell Einträge hinzu.

  • Icons Ändern, evt. jeder Ebene ein eigenes Icon oder für jeden Datentyp ein eigenes Icon
Alle XdevTree Methoden