auf einem Dynpro habe ich einen Splitter Container erzeugt.
In diesen Splitter werden 3 Controls eingebettet ( z.B. ALV, ALV, Textedit ). Nun soll je nach gewählter Funktion z.B. das Textedit-Control weg ( gelöscht oder ausgelblendet ist egal ) und stattdessen ein 3.ter ALV eingeblendet werden.
Das Problem ist also, wie entfernen ich ein eingebettetes Control in einem Splitter-Container wieder? Ich kriege es irgendwie nicht hin...
Mit der Methode "LINK" funktioniert das irgendwie nicht. Damit kann man wohl nur den gesamten Splitter verschieben. Die Referenzen, die der Splitter Container über die Methode "GET_CONTAINER" liefert, sind vom Typ CL_GUI_SIMPLE_CONTAINER. Dieser Containertyp kann nicht mit "LINK" weggeschoben werden... Mehrere Controls in den selben Container einbetten und dann ein-/ausblenden funktioniert auch irgendwie nicht...
Hoffentlich weiß jemand eine Lösung, ich komme gerade irgendwie nicht weiter...
OK, ich habe es jetzt über die Methode "REMOVE_CONTROL" der Klasse CL_GUI_SPLITTER_CONTROL gelöst...
Die ist zwar 'obsolet', aber Sie leistet was ich brauche...
Diese Methode hatte ich vorhin auch mal probiert, hatte allerdings unbewußt für eine Datenkonstellation gesorgt, die zum Abbruch führte...
Eigentlich musst nur z.B. von deinem Textedit-Control die Methode FREE aufrufen und anschliessend ein "FREE referenz_auf_dein_texteditcontrol." machen, wenn ich mich nicht irre.
das habe ich versucht, aber ich habe das Gefühl, das die Referenz als "CHILD" irgendwo im Splitter verblieben ist ( reine Vermutung, habe nicht debuggt !! )... Hat jedenfalls nicht das gewünschte Ergebnis gebracht...
Vielleicht hatte ich mir aber auch irgendwo einen Knoten reingebastelt, der mir nicht aufgefallen war