ProzessD&D-Verhalten für spezielle Zeilen/Zellen Dieses Dokument in der Navigationsstruktur finden

 

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.

Prozess

  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:

    Syntax Syntax

    1. 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.
    Ende des Codes
  3. Definieren Sie Ihr Drag&Drop-Verhalten und beschaffen Sie sich dessen Handle mit der Methode get_handle der Klasse cl_dragdrop.

  4. Wählen Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle.

  5. 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):

    • Wenn die ganze Zeile ein Drag&Drop-Verhalten haben soll, weisen Sie dem Feld dragdropid das entsprechende Handle zu. Das Feld fieldname bleibt in diesem Fall leer.

    • Wenn nur bestimmte Spalten der Zeile ein Drag&Drop-Verhalten haben sollen, müssen Sie für solche Spalten jeweils eine Zeile in der Drag&Drop-Tabelle anhängen. Dem Feld fieldname weisen Sie den Namen der gewünschten Spalte und dem Feld dragdropid das entsprechende Handle zu.

  6. Weisen Sie den Namen der internen Tabelle dem Feld s_dragdrop-fieldname der Layout-Struktur zu (in diesem Fall 'CT', siehe Schritt 2).

  7. Übergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode set_table_for_first_display.

    Hinweis 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 die Tabelle 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.

    Ende des Hinweises

Beispiel

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

Die Abbildung wird im Begleittext erläutert.