Anfang des InhaltsbereichsProzessdokumentationD&D-Verhalten für spezielle Zeilen/Zellen Dokument im Navigationsbaum lokalisieren

Einsatzmöglichkeiten

Sie können mit dieser Möglichkeit für spezielle Zeilen oder Zellen des Grid Controls ein Drag&Drop-Verhalten definieren. Jede Zeile bzw. Zelle kann dabei ein anderes Drag&Drop-Verhalten haben.

Ablauf

  1. Definieren Sie die Layout-Struktur vom Typ LVC_S_LAYO .
  2. Erweitern Sie Ihre Ausgabetabelle um eine Drag&Drop-Tabelle vom Typ LVC_T_DRDR wie im folgenden Beispiel:
  3. DATA: BEGIN OF GT_OUTTAB OCCURS 0.
            INCLUDE STRUCTURE
    <DDIC-Struktur> .

    DATA:   CT TYPE LVC_T_DRDR. "Table for d&d cell behaviour

    DATA: END OF GT_OUTTAB.

  4. Definieren Sie Ihr Drag&Drop-Verhalten und beschaffen Sie sich dessen Handle mit der Methode get_handle der Klasse cl_dragdrop .
  5. Selektieren Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle.
  6. Lesen Sie in einem Loop jeweils eine Zeile der Ausgabetabelle. Eine Zeile der Drag&Drop-Tabelle hat zwei Felder. Belegen Sie diese Felder folgendermaßen (siehe auch die Grafik im nächsten Abschnitt):
  1. Weisen Sie den Namen der internen Tabelle dem Feld s_dragdrop-fieldname der Layout-Struktur zu (in unserem Fall 'CT', siehe Schritt 2).
  2. Übergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode set_table_for_first_display.

Hinweis

Sie können die Layout-Struktur mit dem Drag&Drop-Verhalten auch nachträglich mit der Methode set_frontend_layout übergeben. Das ALV Grid Control frischt sie beim Aufruf der Methode refresh_table_display auf. Die Instanz des ALV Grid Control und die zugehörige Ausgabetabelle müssen die gleiche Lebensdauer haben.

Beispiel

Die folgende Grafik zeigt eine Ausgabetabelle, bei denen die Zellen b1 und c 1 zwei verschiedene und die gesamte zweite Zeile das gleiche Drag&Drop-Verhalten wie Zelle c 1 hat:

Diese Grafik wird im zugehörigen Text erklärt

 

 

 

Ende des Inhaltsbereichs