ich hanbe das Problem, eine Hierarchie aufzubauen. Leider bin ich nicht so der OO-Freak und war froh, ls ich auf Beispilprogramme gesoßen bin und mir mit der Klasse cl_gui_alv_tree eine die Hierarchie aufbauen konnte.
Jetzt hat mir der Fachbereich aber ein Brett auf die Schiene genagelt, indem er so eine Hierarchie gebaut hat:
Das geht mit den Relationships eigentlich ganz einfach:
Es gibt FIRST_CHILD, LAST_CHILD, NEXT_SIBLING und PREVIOUS_SIBLING. (Alles Konstanten in der Tree-Klasse)
Den ersten Knoten der Hierachie fügst du als FIRST_CHILD von <leer> ein.
Den nächsten kannst du als NEXT_SIBLING des zuvor eingefügten Knoten einfügen oder als LAST_CHILD des leeren Knotens.
Wenn du wieder einen als LAST_CHILD oder FIRST_CHILD einfügst wird dieser hinten bzw. vorne eingefügt.
Um eine Ebene tiefer zu kommen muss du einen Knoten der aktuellen Ebene als Relation und LAST_CHILD bzw. FIRST CHILD als Ralationship verwenden.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
Auf dein Beispiel bezogen:
Knoten 1 --> LAST_CHILD von leer
Blatt 1 und 2 --> LAST_CHILD von Knoten 1
Knoten 2 --> LAST_CHILD von leer
Blatt 3 und 4 --> LAST_CHILD von Knoten 2
Knoten 3 --> LAST_CHILD von Knoten 2
Blatt 5 und 6 --> LAST_CHILD von Knoten 3
Blatt 7 und 8 --> LAST_CHILD von Knoten 2
Ich verwende immer LAST_CHILD, weil das von der Reihenfolge her eine Verarbeitung in einem LOOP (oder besser rekursiven LOOP) am zuträglichsten ist.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag: khb
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.