XdevTable

XdevTable

  1. Fügen Sie eine XdevTable in den GUI-Builder ein.

  2. Ziehen Sie ein Entity, z.B. Products per Drag-and-Drop auf die XdevTable.

  3. Klicken Sie bei Properties > Entity > Property auf ....

  4. Selektieren Sie im folgenden Properties Assistenten die Properties (Datenfelder), die als Spalte angezeigt werden sollen. 

  5. Klicken Sie auf OK.

Hinweis:
  • Verwendete Datenquelle - Data Source: H2 Northwind > Entity: Products

Ergebnis:
  • Properties

    • Entity - Setzt das per Drag-and-Drop zugewiesene Entity.

      this.table.setContainerDataSource(Products.class, NestedProperty.of("categories.categoryname", String.class), NestedProperty.of("categories.description", String.class));
    • Properties - Erzeugt für die hier gesetzten Properties (Datenfelder) entsprechende Spalten in der XdevTable. 

      this.table.setVisibleColumns("productname", "quantityperunit", "unitprice", "unitsonorder", "reorderlevel", "categories.categoryname", "categories.description");
    • Auto query data - Setzt die Eigenschaft Auto query data. Legt fest, dass der XdevBeanItemContainer als Daten-Container verwendet wird.

  • Preview 

Spalten-Konfiguration:

XdevTable Properties Assistent aufrufen: Klicken Sie in den Properties > Entity > Properties auf ... .

  • Caption - Spalten-Beschriftung - Die angegebene Bezeichnung wird als Spaltenname verwendet. Die standardmäßig verwendete Attribut-Bezeichnung wird dadurch überschrieben. Internationalisierung wird unterstützt.

  • Generator - Auswahl einer Generated Column, falls bereits vorhanden.

  • Collapsible - Die Spalte kann per Methoden-Aufruf ausgeblendet werden. Die Eigenschaft Properties > ColumnCollapsingAllowed muss dafür gesetzt sein.

  • Collapsed - Die Spalte bleibt ausgeblendet. Die Eigenschaft Properties > ColumnCollapsingAllowed muss dafür gesetzt sein.

  • Icon - Weist der Spalte ein Icon zu, das per Assistent ausgewählt werden kann.

  • Alignment - Richtet den Text in der Spalte aus (Left, Center, Right).

  • Width - Setzt eine feste Spaltenbreite in Pixel.

  • Expand Ratio (Weight) - Definiert eine Gewichtung. Nimmt dadurch den gesamten in der Breite verfügbaren Platz ein. Falls mehrere Spalten eine Gewichtung besitzen, wird der verfügbare Platz je nach angegebener Gewichtung verhältnismäßig aufgeteilt. Ist jedoch zu wenig Platz vorhanden, werden (nur) Spalten mit Gewichtung im angegebenen Verhältnis gestaucht. Erst wenn alle Spalten mit Gewichtung Minimalgröße erreicht haben, wird ein horizontaler Scroller angezeigt.

  • Converter - Legt eine Formatierung für den Wert fest, z.B. Datum, Währung.  

  • Spalten-Reihenfolge ändern - Selektieren Sie eine Property > Klicken Sie 

     Move up oder 

     Move down.

  • Generated Column hinzufügen - Definiert eine Generated Column, mit der sich beliebige UI-Komponenten in eine XdevTable einbinden lassen.

Wichtige Events:
  • columnReorder - Wird ausgelöst, wenn die Sortierreihenfolge verändert wird.

  • columnResize - Wird ausgelöst, wenn die Spaltenbreite verändert wird.

  • headerClick - Wird ausgelöst, wenn in den Table Header geklickt wird.

Wichtige Properties:
  • Editable - Lässt das Editieren der Werte zu. In den Zellen werden dazu je nach Datentype entsprechende Formular-Komponenten erzeugt.

  • ColumnCollapsingAllowed - Erlaubt das Aus- und Einblenden von Spalten. Dazu wird am oberen rechten Rand der Tabelle ein entsprechendes Symbol eingeblendet.

  • ColumnReorderingAllowed - Mit dieser Einstellung ist es möglich, die Anordnung der Spalten zur Laufzeit per drag & Drop zu ändern.

  • DragMode - Aktiviert Drag-and-Drop und ermöglicht damit das Verschieben von Zeilen. 

    • NON - Deaktiviert Drag-and-Drop.

    • ROW - Lässt das Verschieben einzelner Zeilen zu. 

    • MULTIROW - Lässt das Verschieben mehrerer, durch Mehrfachauswahl selektierte Zeilen zu.

    • MultiSelectMode

      • DEFAULT - Bei dieser Einstellung ist die Selektierung mehrerer Einträge nur mit gedrückter Umschalt(Shift)-Taste möglich.

      • SIMPLE - Wenn dieser Modus gewählt ist, wird ein Eintrag mit Click selektiert bzw. deselektiert, wobei die Selektierung anderer Elemente davon nicht beeinflusst wird. Multiselect mit Umschalttaste ist nicht möglich.

  • Selectable - Lässt eine Selektierung zu.

  • SortEnabled - Lässt eine Sortierung der Zeilen zu.

    • SortAscending - Sortiert die Zeilen aufsteigend.

  • Shortcut

Examples:
  • Selektierte Zeile auslesen

    Products product = table.getSelectedItem().getBean();

    Speichert die Werte der selektierte Zeile in der Variable product vom Typ Products.
    Kann nicht bei Mehrfachselektierung verwendet werden.

  • Einzelnen Wert auslesen

    Products product = table.getSelectedItem().getBean(); String productName = product.getProductname();
  • Mehrfachselektierung - Selektierte Zeilen auslesen

    List<BeanItem<Products>> productList = table.getSelectedItems();
  • XdevTable Data-Container zurückgeben - Erzeugt einen neuen XdevBeanItemContainer productContainer vom Typ Product und weist diesen mit der Methode getBeanContainerDataSource den XdevBeanItemContainer der XdevTable zu.

    XdevBeanItemContainer<Product> productContainer = table.getBeanContainerDataSource();

     

  • XdevTable Daten auslesen

    List<Product> productList = new ArrayList<Product>(); for (Object i : table.getItemIds()) { Product bean = table.getBeanItem(i).getBean(); productList.add(bean); }

     

  • XdevBeanItemContainer einer anderen XdevTable zuweisen - Weist der XdevTable mit der Methode setContainerDataSource den XdevBeanItemContainer productContainer zu. 

    table2.setContainerDataSource(table1.getBeanContainerDataSource());
  • Table Refresh - Setzt das Model, i.d.R. XdevBeanItemContainer, neu, wenn AutoQueryData aktiv ist. Dadurch wird die Table aktualisiert.

    table.getBeanContainerDataSource().refresh();
  • Zur XdevTable Javadoc

XDEV Software Corp. - One Embarcadero Center, San Francisco, CA 94111, US
Copyright © 2015. XDEV Software Corp. All rights reserved.