Show TOC Anfang des Inhaltsbereichs

ProzessdokumentationD&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:

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.

       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 dragdropiddas 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 fieldnameweisen Sie den Namen der gewünschten Spalte und dem Feld dragdropiddas entsprechende Handle zu.

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

       7.      Ü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 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.

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:

Diese Grafik wird im zugehörigen Text erklärt

 

 

 

 

 

 

 

Ende des Inhaltsbereichs