Im List Tree Itemnummer bei Drop herausfinden

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Im List Tree Itemnummer bei Drop herausfinden

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Habe in einem List Tree Drag & Drop implementiert.
Nun möchte ich beim Drop herausfinden, auf welchem ITEM der Drop ausgeführt wird. Damit könnte ich in Abhängigkeit der ITEM-Nummer unterschiedliche Aktionen steuern (z.B. Einfügen auf gleicher Ebene oder darunter).
Leider wird nur der NodeKey, auf den gedroppt wird, geliefert und nicht die ITEM-Nummer.
Beim Debuggen habe ich jedoch festgestellt, dass diese Information, auf welche Item-nummer gedroppt wurde, vorhanden ist - leider in einer lokalen Klasse innerhalb der Klasse CL_GUI_CFW.

Man kann das mit dem Report RSDEMO_DRAG_DROP_TREE_MULTI sehr schön nachvollziehen. Dort in der Methode RIGHT_DROP einen Breakpoint setzen, Drag/Drop-Operation ausführen. Doppelklick auf die Referenz DRAG_DROP_OBJECT zeigt eine Instanz der lokalen Klasse LCL_DRAGDROPOBJECT mit Referenz DRAGDROPPARAMS. Doppelklick auf DRAGDROPPARAMS zeigt eine Instanz der lokalen LCL_LOCAL_DDPARAMS. Dort unter Attribute die Referenzvariable PROPSTARGET. Doppelklick auf PROPSTARGET zeigt die interne Tabelle PROPBAG, in der die gewünschte Information zu finden ist.

Würde mich freuen, wenn mir jemand einen Tipp geben könnte.

P.S.
Ich weiß, dass man beim ALV-Tree jedem Feld eine Drag&Drop ID mitgeben kann.
Aber der ALV-Tree ist zur Zeit keine Alternative.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Im List Tree Itemnummer bei Drop herausfinden

Beitrag von black_adept (Top Expert / 4142 / 133 / 957 ) »
Hallo Dele,

in deiner Überschrift schreibst du "List Tree", das von dir genannte SAP-Beispielprogramm hingegen verwendet den "Simple Tree".
Und wenn ich mir die Parameter der Drag- und Dropevents anschaue sehe ich, dass für den Simpletree tatsächlich nur die NodeId zur Verfügung steht. Aber für den in der Überschrift angegebenen ListTree wird auch der ItemName mit übergeben.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Im List Tree Itemnummer bei Drop herausfinden

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Hallo Stefan,
in deiner Überschrift schreibst du "List Tree", das von dir genannte SAP-Beispielprogramm hingegen verwendet den "Simple Tree".
Stimmt. Habe kein Beispielprogramm mit List Tree und Drag und Drop gefunden. Aber die Daten im Debugger sind die gleichen.
Aber für den in der Überschrift angegebenen ListTree wird auch der ItemName mit übergeben.
Stimmt so nicht. Denn es wird der Item-Name der Quelle übergeben (warum auch immer), also praktisch wo die Drag-Operation gestartet hat. Ausserdem wird dieser Quell-Itemname nur mitgegeben, wenn man genau einen Knoten auswählt. Wenn man mehrere Knoten markiert und dann auf einem ITEM die Drag-Operation startet, dann kommt beim Drop kein ITEM-Name an.

Trotzdem Danke für die Hinweise.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2728
Views
List Tree Model
von treyfifty » 27.07.2016 08:48 • Verfasst in ABAP® für Anfänger
1
Antw.
2778
Views
List Tree Model
von treyfifty » 27.07.2016 08:48 • Verfasst in ABAP® für Anfänger
5
Antw.
4973
Views
List Tree Model mit Toolbarmenü?
von MacLeod » 18.12.2012 13:16 • Verfasst in ABAP Objects®
6
Antw.
10474
Views
ALV Tree / List Tree?
von wega83 » 02.04.2012 16:06 • Verfasst in ABAP® Core
5
Antw.
4124
Views
mehr als 2 spalten im list tree??? dringend!
von ismailer » 15.12.2005 11:13 • Verfasst in ABAP Objects®

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialogprogramm to Reportprogramm
vor einer Woche von Lukas Sanders 2 / 34907

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.