Show TOC

Definition von Ereignissen bei Drag&Drop im SAP TreeLocate this document in the navigation structure

Verwendung

In diesem Abschnitt werden die Besonderheiten des SAP Trees bei Drag&Drop Operationen vorgestellt.

Voraussetzungen

Um auf die Ereignisse reagieren zu können, müssen Sie sie registrieren. Anders als in der normalen Ereignisbehandlung werden Drag&Drop-Ergeinisse nicht mit dem Control Framework durch die Methode set_registered_events registriert. Die Registrierung erfolgt automatisch über die Verschalung des SAP Tree Control.

Sie müssen dennoch weiterhin Behandlermethoden für die Ereignisse angeben:

Die Ereignisse werden immer als Systemereignisse registriert.

Weiterhin müssen Sie beim Aufbau der Knotentabelle festlegen, welcher Knoten Drag&Drop fähig ist und welche Flavors der Knoten haben soll. Dazu versorgen Sie das Feld u der Knotentabelle mit dem entsprechenden Drag&Drop-Verhalten (siehe Punkt 3 im Kapitel Ablauf einer Drag&Drop Operation ). Dies erfordert folgende Schritte (siehe auch Beispiel für Drag&Drop Programmierung ):

  1. Definieren Sie das Drag&Drop Verhalten:

    DATA behaviour_left TYPE REF TO cl_dragdrop.
            CREATE OBJECT behaviour_left.
            CALL METHOD behaviour_left->add
                    EXPORTING
                            flavor  = 'Tree_move_to_Edit'
                            dragsrc = 'X'
                            droptarget = ' '
                            effect  = cl_dragdrop=>copy.
    
                   
  2. Besorgen Sie sich mit der Methode get_handle ein Handle auf das Drag&Drop Verhalten:

    CALL METHOD behaviour_left->get_handle
            IMPORTING handle = handle_tree.
                   
  3. Weisen Sie dieses Handle dem Feld DRAGDROPID des Eintrags in der Knotentabelle zu:

    node-dragdropid = handle_tree.     " handle of behaviour
                   
Achtung

Einträge vom Typ tree->item_class_checkbox (Ankreuzfeld), tree->item_class_button (Drucktaste) und tree->item_class_link (Link) können kein Quellobjekt eines Drag&Drop Vorgangs sein.

Funktionsumfang

In der folgenden Tabelle sind die für das Drag&Drop relevanten Ereignisse aufgelistet:

Ereignis

Beschreibung

ON_DROP_GET_FLAVOR

Siehe Ereignisse bei Drag&Drop unter Ereignis ONGETFLAVOR

ON_DRAG

Siehe Ereignisse bei Drag&Drop unter Ereignis ONDRAG

Für Bäume ohne Mehrfachselektion ( NODE_SELECTION_MODE = TREE->NODE_SEL_MODE_SINGLE )

ON_DRAG_MULTIPLE

Siehe Ereignisse bei Drag&Drop unter Ereignis ONDRAG

Für Bäume mit Mehrfachselektion ( NODE_SELECTION_MODE = TREE->NODE_SEL_MODE_MULTIPLE )

ON_DROP

Siehe Ereignisse bei Drag&Drop unter Ereignis ONDROP

ON_DROP_COMPLETE

Siehe Ereignisse bei Drag&Drop unter Ereignis ONDROPCOMPLETE

Für Bäume ohne Mehrfachselektion ( NODE_SELECTION_MODE = TREE->NODE_SEL_MODE_SINGLE )

ON_DROP_COMPLETE_MULTIPLE

Siehe Ereignisse bei Drag&Drop unter Ereignis ONDROPCOMPLETE

Für Bäume mit Mehrfachselektion ( NODE_SELECTION_MODE = TREE->NODE_SEL_MODE_MULTIPLE )

Die einzelnen Ereignisse besitzen folgende Ereignisparameter:

Ereignis

Ereignisparameter

Beschreibung

ON_DROP_GET_FLAVOR

NODE_KEY

Technischer Name des Knotens, auf den das Quellobjekt gezogen wurde

DRAG_DROP_OBJECT

Datenobjekt zur Beschreibung des Quellobjekts

FLAVORS

Gemeinsame Flavors des Drag&Drop Vorgangs

ON_DRAG

NODE_KEY

Technischer Name des Knotens, der als Quellobjekt ausgewählt wurde

ITEM_NAME

(nicht bei Simple Tree)

Technischer Name des Eintrags, der als Quellobjekt ausgewählt wurde

DRAG_DROP_OBJECT

Datenobjekt zur Beschreibung des Quellobjekts

ON_DRAG_MULTIPLE

NODE_KEY_TABLE

Tabelle der Knoten, die als Quellobjekte ausgewählt wurden

ITEM_NAME

(nicht bei Simple Tree)

Technischer Name des Eintrags, der als Quellobjekt ausgewählt wurde

DRAG_DROP_OBJECT

Datenobjekt zur Beschreibung des Quellobjekts

ON_DROP

NODE_KEY

Technischer Name des Knotens, auf den das Quellobjekt gezogen wurde

DRAG_DROP_OBJECT

Datenobjekt zur Beschreibung des Quellobjekts

ON_DROP_COMPLETE

NODE_KEY

Technischer Name des Knotens, der als Quellobjekt ausgewählt wurde

ITEM_NAME

(nicht bei Simple Tree)

Technischer Name des Eintrags, der als Quellobjekt ausgewählt wurde

DRAG_DROP_OBJECT

Datenobjekt zur Beschreibung des Quellobjekts

ON_DROP_COMPLETE_MULTIPLE

NODE_KEY_TABLE

Tabelle der Knoten, die als Quellobjekte ausgewählt wurden

ITEM_NAME

(nicht bei Simple Tree)

Technischer Name des Eintrags, der als Quellobjekt ausgewählt wurde

DRAG_DROP_OBJECT

Datenobjekt zur Beschreibung des Quellobjekts