2012-04-03 16 views
1

Ich möchte eine TreeTable verwenden, die einige Knoten in der Struktur mit Checkboxen und einige nicht sind. Meine Datenobjekte befinden sich momentan in einem Root-Java-Objekt und haben bereits eine Hierarchie. So, da es viele Methoden gibt, um die Daten an einen Treetable zu binden. Ich bin mir nicht sicher, welchen Weg ich wählen sollte?Vaadin: Datenbindung an Treetable

Sollte ich einen hierarchischen Container verwenden, muss ich jedes Eltern- und Kind manuell oder nicht festlegen, da es bereits in einer Hierarchie ist. Sollte ich hinzufügen sie als Elementtypen oder Objekte, wie sie bereits sind, und dieser Ansatz auch leicht machen Kontrollkästchen zu setzen, um einige Elemente

Dank

Antwort

4

Um Ihre Daten mit dem TreeTable zu binden Sie benötigen HierarchicalCOntainer beacause die verwenden Die Hierarchie wird in diesem Container beibehalten und Sie müssen die Hierarchie manuell erstellen.

Ihre Daten zu binden, können Sie an folgende haben zu tun:

  1. alle POJOs mit in den Behälter hinzufügen hierarchical.addItem(pojo);
  2. Erstellen Sie die Hierarchie manuell. Um dies zu tun, werden Sie hierarchical.setParent(childPojo, parentPojo);
  3. Disallow Kinder für Blätter verwenden: treetable.setChildrenAllowed(leaf, false);

Sie finden können ein Beispiel here von Datenbindung.

Um Ihre checkBoxe in Ihrer treeTable zu haben, können Sie dies mit einer GeneratedColumn tun.

Wenn Ihr mit diesem Konzept nicht vertraut, wird dieser Link helfen: 5.14.5. Generated Table

Grüße, Éric

+2

was ist der Unterschied zwischen dem, HierarchicalCOntainer oder TreeTable direkt hinzufügen? – Spring