Show TOC

Hierarchische DataGrids erstellenLocate this document in the navigation structure

Das DataGrid erlaubt eine hierarchische Anordnung von Zeilen und Spalten, sodass bestimmte Hierarchieebenen nach Bedarf ein- oder ausgeblendet werden können.

Beispielsweise können Sie ermöglichen, dass ein CInputField nach Bedarf als Popin durch Aufklappen eines Hierarchiebaums eingeblendet werden kann.

Die für die Darstellung von Hierarchie relevanten Eigenschaften stehen an der DataGridCell zur Verfügung. Die DataGridCell besitzt das Ereignis onHierarchyChange, das ausgelöst wird, wenn eine Zelle selektiert wird, für die ein hierarchyState definiert ist.

Die folgenden Voraussetzungen müssen erfüllt sein:
  • Die Anzahl der Spalten innerhalb einer DataGridSegmentColumn muss über alle DataGridSegments hinweg gleich sein.
  • Die Anzahl der Zeilen innerhalb einer DataGridSegmentRow muss über alle DataGridSegments hinweg gleich sein.

Zum Einfügen und Löschen von Daten im zweidimensionalen Context-Knoten werden die folgenden Serviceoperationen zur Verfügung gestellt:

node->insert_columns( from_x = from_x num_cols = num_cols ).
node->remove_columns( from_x = from_x num_cols = num_cols ).
node->insert_rows( from_y = from_y num_rows = num_rows ).
node->remove_rows( from_y = from_y num_rows = num_rows ).

Dadurch müssen die Daten nicht von der Anwendung zum Context neu geladen werden.

Beachten Sie die folgenden Schritte um in Ihrer Anwendung auf onHierarchyChange-Ereignisse zu reagieren:

  1. Ändern Sie den Wert der Eigenschaft hierarchyState der DataGridCell.
  2. Fügen Sie Zeilen/Spalten für alle Segmente der betroffenen DataGridSegmentRow oder DataGridSegmentColumn in die zweidimensionalen Context-Knoten ein.
  3. Laden Sie zusätzliche Daten in die zweidimensionalen Context-Knoten.
  4. Fügen Sie zusätzliche Zeilen/Spalten als Höhen-/ Breiteninformation an die Context-Knoten, die an die betroffenen DataGridSegmentRows oder DataGridSegmentColumns gebunden sind.

Sie finden ein Beispiel in der Component WDR_TEST_DATA_GRID in der View TC_HIERARCHY.