Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Tree Dokument im Navigationsbaum lokalisieren

Mit Hilfe des Tree-Oberflächenelements können im Context definierte Hierarchien visualisiert werden. Die darzustellende Hierarchie wird zunächst im Context definiert. Es gibt zwei Möglichkeiten, diese Context-Struktur zu beschreiben:

      mit rekursiven Knoten, wenn zur Design-Zeit die Anzahl der Ebenen noch nicht bekannt ist

      mit nicht-rekursiven Knoten, wenn zur Design-Zeit bereits eine bestimmte Anzahl an Ebenen festgelegt werden kann

Ein Tree dient also der Navigation. Durch Anklicken eines Eintrags werden die damit verbundenen Daten an anderer Stelle angezeigt. Wenn Sie eine Baumstruktur visualisieren möchten, die zur Eingabe geeignet ist und darüber hinaus die Möglichkeit zum Scrolling anbieten möchten, verwenden Sie statt eines Tree eine hierarchische Tabelle, siehe auch StrukturlinkTreeByKeyTableColumn und StrukturlinkTreeByNestingTableColumn. Ein Tree bietet nicht die Möglichkeit der Selektion von Einträgen - er kann nur mit der LeadSelection umgehen. Beachten Sie, dass dies visuell wie eine Selektion aussieht, es ist jedoch von der Performance her eine sehr teure Operation, so dass es in den meisten Szenarien eher hinderlich wäre.

Beispiel für die visuelle Darstellung

Diese Grafik wird im zugehörigen Text erklärt

Das Tree-Oberflächenelement wird gegen den obersten Context-Knoten gebunden, der dargestellt werden soll.

Mit Hilfe von Knoten (StrukturlinkTreeNodeType-Elemente) bzw. Blättern (StrukturlinkTreeItemType-Elemente) wird festgelegt, welche der Unterknoten dargestellt werden sollen und vor allem, welche Context-Attribute auf diesen Unterknoten als Text bzw. Tooltip dargestellt sollen. Die Eigenschaft dataSource des TreeNodeType-Elements bzw. TreeItemType-Elements wird hierzu gegen den entsprechenden Context-Knoten gebunden, die Eigenschaften text, tooltip etc. werden gegen die entsprechenden Context-Attribute auf diesem Context-Knoten gebunden.

TreeItemType-Elemente können niemals Kinder haben und werden deshalb immer als Blätter angezeigt. Sie werden dann verwendet, wenn schon zur Design-Zeit feststeht, dass der entsprechende Knoten keine Kinder hat. Bei TreeNodeType-Elemente wird erst zur Laufzeit dynamisch bestimmt, ob es Kinder gibt.

Hinweis

Es können keine im Context definierten Hierarchiestufen bei der Darstellung des Oberflächenelements ausgelassen werden. Zum Beispiel muss zur Darstellung der Items für die in einem Context definierte Hierarchie Customer   ®  Orders  ®   Items auch ein gegen die Orders gebundenes TreeNodeType-Element existieren.

Bei allen Knoten, die nicht direkt unter dem Context-Wurzelknoten hängen, muss es sich um Nicht-Singleton-Knoten handeln, da in einem Baum alle Elemente angezeigt werden sollen, unabhängig von der Lead-Selection.

Sie können den Tree auch so binden, dass die dataSource des Trees auf einen struktuierenden 1:1 Knoten bindet und die Element-Knoten des Trees sich erst darunter befinden. Dies ist für die Abbildung von Verzeichnisstrukturen notwendig. Bei rekursiven Trees können Sie die Rekursion gegen diesen 1:1-Knoten zeigen lassen. Dabei wird dieser dann beim Rendering übersprungen.

Hinweis

Um die Entwicklung Strukturlinkbarrierefreier Anwendungen zu ermöglichen, wird im Rahmen des Syntaxchecks die Eigenschaft tooltip überprüft.

 

Laufzeit-Klasse

CL_WD_TREE

 

Eigenschaften im View Designer

Name

Typ

Anfangswert

Bindbar

id

STRING

(automatisch)

nein

StrukturlinkdataSource

Context-Knoten

 

muss

StrukturlinkdefaultItemIconSource

STRING

 

ja

StrukturlinkdefaultNodeIconSource

STRING

 

ja

Strukturlinkenabled

WDY_BOOLEAN

true

ja

StrukturlinkminHeight

STRING

 

ja

StrukturlinkrootText

Übersetzbarer Text

 

ja

StrukturlinkrootVisible

WDY_BOOLEAN

true

ja

StrukturlinkselectionChangeBehaviour

WDUI_LEAD_SEL_CHNG_BEHVR

auto

nein

Strukturlinktitle

Übersetzbarer Text

 

ja

StrukturlinktitleVisible

WDUI_VISIBILITY

visible

ja

Strukturlinktooltip

Übersetzbarer Text

 

ja

Strukturlinkvisible

WDUI_VISIBILITY

visible

ja

Strukturlinkwidth

STRING

 

ja

 

Aggregationen im View Designer

Name

Kardinalität

Typ

StrukturlinkKnotentyp

0..n

StrukturlinkAbstractTreeNodeType

 

Events im View Designer

Name

StrukturlinkonExpandAll

Hinweis

Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Die dazugehörigen Oberflächenelemente sind:

        StrukturlinkUIElement

        StrukturlinkViewElement

Dynamische Programmierung

Für die dynamische Programmierung stehen dieselben Eigenschaften, Ereignisse und Aggregationen zur Verfügung wie im View Designer. Beachten Sie dabei die unterschiedlichen Schreibweisen.

Dynamische Programmierung der Eigenschaften

View Designer Name

Laufzeitname

Typ

StrukturlinkdataSource

DATA_SOURCE

OBJECT

StrukturlinkdefaultItemIconSource

DEFAULT_ITEM_ICON_SOURCE

STRING

StrukturlinkdefaultNodeIconSource

DEFAULT_NODE_ICON_SOURCE

STRING

Strukturlinkenabled

ENABLED

WDY_BOOLEAN

StrukturlinkminHeight

MIN_HEIGHT

STRING

StrukturlinkrootText

ROOT_TEXT

WDY_MD_TRANSLATABLE_TEXT

StrukturlinkrootVisible

ROOT_VISIBLE

WDY_BOOLEAN

StrukturlinkselectionChangeBehaviour

SELECTION_CHANGE_BEHAVIOUR

WDUI_LEAD_SEL_CHNG_BEHVR

 selectionChangeBehaviour: auto

CL_WD_TREE=>E_SELECTION_CHANGE_BEHAVIOUR-AUTO

 selectionChangeBehaviour: manual

CL_WD_TREE=>E_SELECTION_CHANGE_BEHAVIOUR-MANUAL

Strukturlinktitle

TITLE

WDY_MD_TRANSLATABLE_TEXT

StrukturlinktitleVisible

TITLE_VISIBLE

WDUI_VISIBILITY

 titleVisible: none

CL_WD_TREE=>E_TITLE_VISIBLE-NONE

 titleVisible: visible

CL_WD_TREE=>E_TITLE_VISIBLE-VISIBLE

Strukturlinktooltip

TOOLTIP

WDY_MD_TRANSLATABLE_TEXT

Strukturlinkvisible

VISIBLE

WDUI_VISIBILITY

 visible: none

CL_WD_TREE=>E_VISIBLE-NONE

 visible: visible

CL_WD_TREE=>E_VISIBLE-VISIBLE

Strukturlinkwidth

WIDTH

STRING

 

Dynamische Programmierung der Ereignisse

View Designer Name

Laufzeitname

StrukturlinkonExpandAll

ON_EXPAND_ALL

 

Dynamische Programmierung der Aggregationen

View Designer Name

Laufzeitname

Kardinalität

StrukturlinkKnotentyp

NODE_TYPES

0..n

Beispiel

Beispiele für dieses Oberflächenelement finden Sie im System in der Web-Dynpro-Applikation WDR_TEST_UI_ELEMENTS sowie in der Component WDR_TEST_EVENTS in den Views TREE_*.

 

Ende des Inhaltsbereichs