ich stehe mal wieder vor der Wand. Ich habe einen Tabstrip ( vom Typ "Blättern im SAP-Gui" ) mit mehreren Tabs. In jedem der Tabs ist eine Baumstruktur (Objekt von cl_gui_simple_tree). Wenn ich zwischen den Tabs hin und her wechsele werden die Baumstrukturen immer zugeklappt, was nicht in meinem Sinne ist.
Kann mir jemand bitte einen Rat geben wie ich die momentan nicht angezeigten Screens samt aller enthaltenen Controlls und deren Zustände zwischenspeichere und rekonsturiere? Ich meine, in meinem Fall kann ich warscheinlich die Baum-Objekte vorhalten. Wenn alle Stricke reißen könnte ich zu jedem einzelnen Knoten festhalten ob er auf- oder zugeklappt ist und den Baum jedes Mal neu bauen - aber das ist wohl kaum der Sinn der Sache. Gibts dafür irgendeinen handlichen Befehl oder so ebes?
MfG und vielen Dank im Voraus.
Zuletzt geändert von sapnup am 03.08.2017 08:55, insgesamt 1-mal geändert.
Hi, sapnup.
Der Simple Tree erbt ja aus der Oberklasse CL_TREE_CONTROL_BASE. Darin gibt es die Methoden get_expanded_nodes und expand_nodes. Damit könntest du, wer hätte damit gerechnet, die expandierten Nodes auslesen, wenn du den Tree verlässt, und sie beim neuen Aufrufen wieder öffnen.
Vielleicht hilft dir das ja weiter.
Folgende Benutzer bedankten sich beim Autor LGiesken für den Beitrag: sapnup
Hi, sapnup.
Mich wundert, dass die Trees sich, laut deiner Aussage, ohne weiteres Zutun wieder schließen. Das sollte eigentlich nicht sein, da sich die Control-Instanzen den Zustand augeklappt/nicht aufgeklappt merken. Es sei denn, dass du den Tree bei jedem Karteireiterwechsel neu aufbaust, dann können die Controls sich den aktuellen Zustand natürlich nicht merken.
lg ADT
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.
@LGiesken
Danke für den Hinweis aber genau das will ich vermeiden. Es ist mir ohnehin ein Dorn im Auge, dass ich neben der Baumstruktur im Control auch die Ursprungstabelle pflegen muss. Wenn die Klasse cl_gui_simple_tree eine Methode hätte, die das Umgekehrte der Methode AddNodes macht - also die aktuelle Baumstruktur als Tabelle ausgibt - wäre wohl die eine oder andere Stunde Entwicklerarbeit eingesparrt worden...
Sollte es eine solche Methode geben und ich übersehe sie mit aller Gewalt, dann wäre ich dir natürlich dankbar für einen Hinweis
@ ADT
Auch dir einen Dank. Es war tatsächlich so, dass ich cl_gui_simple_tree und cl_gui_custom_container bei vielen Tab-Wechseln neu instanzieiert habe - unnötiger weise. Habe das jetzt gefixt und die Bäumchen bleiben aufgeklappt. Klasse!