DRAG&DROP im selben Tree

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

DRAG&DROP im selben Tree

Beitrag von ChrisPeschke (ForumUser / 4 / 0 / 0 ) »
Hallo Freaks,
ich muss einen DRAG&DROP in einem Tree programmieren, der sowohl move als auch copy kann und habe das Programm SAPSIMPLE_TREEM_DRAGDROP_DEMO2 als Grundlage verwendet. Nach den ersten Tests habe ich aber festgestellt, dass mein Programm nicht funktioniert, da immer der Effekt "move" im drag_drop_object steht, egal ob nur die linke Maustaste oder STRG+linke Maustaste gedrückt ist. Am Frontend wird unterschieden! Hat jemand eine Ahnung woran das liegen könnte?
Im Programm sieht das so aus:
--------------------------------------------------------------------
data: effect_lv type i.
CREATE OBJECT: flav_tree_gv. "type ref to cl_dragdrop
* Erzeugen Verhaltenstyp-Tabelle
Effect_lv = cl_dragdrop=>move + cl_dragdrop=>copy.

* Quelle und Ziel
CALL METHOD flav_tree_gv->add
EXPORTING
flavor = 'SE_DD'
dragsrc = x_gc
droptarget = x_gc
effect = effect_lv
effect_in_ctrl = effect_lv
* effect_in_ctrl = cl_dragdrop=>usedefaulteffect
EXCEPTIONS
already_defined = 1
obj_invalid = 2
OTHERS = 3.

IF sy-subrc <> 0.
* Fehlermeldung
ENDIF.
CALL METHOD flav_tree_gv->get_handle
IMPORTING handle = handle_tree_gv.
Vielen Dank für eure Hilfe
Gruß Chris

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


Beitrag von ewx (Top Expert / 4918 / 332 / 655 ) »
Hi Chris,

bei mir funktioniert's:
ich frage in der Methode "Drop_Complete" ab:

Code: Alles auswählen.

      CASE drag_drop_object->effect.
        WHEN cl_dragdrop=>copy.
          MESSAGE i000(vz) WITH 'COPY'.
        WHEN cl_dragdrop=>move.
          MESSAGE i000(vz) WITH 'MOVE'.
      ENDCASE.
Gruß, Enno.

Code: Alles auswählen.

CLASS lcl_dragdrop_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS:

*-- Drag'n'Drop
     flavor_select
        FOR EVENT on_drop_get_flavor
        OF cl_gui_list_tree
        IMPORTING node_key flavors drag_drop_object,
     beleg_drag
        FOR EVENT on_drag
        OF cl_gui_list_tree
        IMPORTING node_key item_name drag_drop_object,
     gruppe_drop
        FOR EVENT on_drop
        OF cl_gui_list_tree
        IMPORTING node_key drag_drop_object,
     drop_complete
        FOR EVENT on_drop_complete
        OF cl_gui_list_tree
        IMPORTING node_key drag_drop_object.

ENDCLASS.

DRAG&DROP im selben Tree

Beitrag von ChrisPeschke (ForumUser / 4 / 0 / 0 ) »
Hallo Enno,
du musst in der Definition noch was anderes machen:
Mir ist nicht klar wofür du den Event FLAVOR_SELECT benötigst? Ob der Anwender COPY oder MOVE am Frontend ausgelöst hat, kann ich doch nirgends entscheiden? Mein Problem ist, dass immer nur der MOVE im drop_complete ankommt! Kannst du dir meine Definition in der Mail nochmals anschauen (X_GC = 'X')! Vielleicht habe ich da noch einen Bock geschossen!

Vielen Dank und viele Grüße
Chris

Beitrag von ewx (Top Expert / 4918 / 332 / 655 ) »
Folgendes Demoprogramm ist herausgekommen:
http://www.tricktresor.de/content/index ... 06&aID=274
Enno

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1730
Views
ERP2005 - neuer Debugger im selben Fenster
von airwaver » 14.05.2007 16:53 • Verfasst in ABAP® Core
3
Antw.
3164
Views
Smartforms, unterschiedliche Seitenformate in selben Spool
von Dirk K » 16.10.2008 08:38 • Verfasst in ABAP® Core
0
Antw.
1689
Views
ERP2005 und Solution Manager im selben System installieren?
von D2Klein » 30.08.2007 11:16 • Verfasst in Basis
6
Antw.
12023
Views
ALV Tree / List Tree?
von wega83 » 02.04.2012 16:06 • Verfasst in ABAP® Core
6
Antw.
4906
Views
tree
von kbittich » 06.08.2008 16:31 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


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

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.