Darstellung von Drucktasten
Einsatzmöglichkeiten
Wenn Sie Zellen, Zeilen oder Spalten den Style
mc_style_button
zuweisen, stellt das ALV Grid Control die zugehörigen Zellen als Drucktaste dar. Der Benutzer sieht dann unmittelbar, daß er weiter Informationen zur Zelle erhält, indem er auf sie klickt. Das ALV Grid Control löst dann das Ereignis
button_click aus.
Ablauf
Um alle Zellen einer Spalte als Drucktaste darzustellen, verwenden Sie das
Feld STYLE des Feldkatalogs.
Um Zeilen oder einzelne Zellen als Drucktaste darzustellen, gehen Sie folgendermaßen vor:
- Definieren Sie die
Layout-Struktur vom Typ
LVC_S_LAYO
.
Erweitern Sie Ihre Ausgabetabelle um eine Zellentabelle vom Typ
LVC_T_STYL
wie im folgenden Beispiel:
DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE
<DDIC-Struktur>
.DATA: CT TYPE LVC_T_STYL. "Table buttons
DATA: END OF GT_OUTTAB.
Selektieren Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle.
Lesen Sie in einem Loop jeweils eine Zeile der Ausgabetabelle. Eine Zeile der Zellentabelle hat die Felder
FIELDNAME
und
STYLE
. Belegen Sie diese Felder folgendermaßen:
- Wenn alle Zellen einer Zeile als Drucktaste dargestellt werden sollen, weisen Sie dem Feld
style
das Attribut
cl_gui_alv_grid=>mc_style_button
zu. Das Feld
fieldname
bleibt in diesem Fall leer.
Wenn nur bestimmte Spalten der Zeile wie eine Drucktaste aussehen sollen, hängen Sie pro Spalte eine Zeile an die Zellentabelle an. Dem Feld
fieldname
weisen Sie den Namen der gewünschten Spalte und dem Feld
style
das Attribut
cl_gui_alv_grid=>mc_style_button
zu.
- Weisen Sie den Namen der internen Tabelle dem Feld
stylefname
der Layout-Struktur zu (in unserem Fall
'CT',
siehe Schritt 2).
Übergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode
set_table_for_first_display.
Ergebnis
Das ALV Grid Control gibt die mit dem Attribut gekennzeichneten Zellen als Drucktaste aus.