Nein. Die beiden Funtionen schließen sich gegenseitig aus.Legxis hat geschrieben:... geht das denn überhaupt, wenn man auf derselben Zelle einen Dropdown hat?
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Legxis
Danke, das hat super geklappt! Jetzt werden im Dropdown die Texte angezeigt. Wenn man die Werte speichert werden diese zwar zu den Kürzeln umgewandelt, das ist aber ok so.a-dead-trousers hat geschrieben:Du kannst aber deine (Lang-)Texte "alternativ" zu den Kürzeln anzeigen lassen.
Die Struktur für Dropdowns im ALV, LVC_S_DRAL, besitzt einen INT_VALUE (Schlüssel) und einen VALUE (Text in der Anzeige). Durch geschicktes hin- und herkopieren kann man das gleiche Verhalten erreichen wie bei einem Dropdown auf einem Dynpro. Aber mit "Standardmitteln" (Domänenfestwerte etc.) hab ich das bislang nicht geschafft, da muss man alles selber programmieren
Code: Alles auswählen.
FORM dropdown_table CHANGING alv_grid TYPE REF TO cl_gui_alv_grid.
DATA: lt_dropdown TYPE lvc_t_drop WITH HEADER LINE,
gs_f4 TYPE lvc_s_f4,
gt_f4 TYPE lvc_t_f4.
CLEAR gt_f4.
gs_f4-fieldname = 'Spaltenname'.
gs_f4-register = 'X'.
gs_f4-getbefore = 'X'.
gs_f4-chngeafter = 'X'.
APPEND gs_f4 TO gt_f4.
CALL METHOD alv_grid->register_f4_for_fields
EXPORTING
it_f4 = gt_f4.
lt_dropdown-handle = '1'.
lt_dropdown-value = 'Kürzel'.
APPEND lt_dropdown.
...
CALL METHOD alv_grid->set_drop_down_table
EXPORTING
it_drop_down = lt_dropdown{}.
ENDFORM.
Code: Alles auswählen.
FORM dropdown_table CHANGING alv_grid TYPE REF TO cl_gui_alv_grid.
DATA: lt_dropdown TYPE lvc_t_dral WITH HEADER LINE,
ls_dropdown TYPE lvc_s_dral,
gs_f4 TYPE lvc_s_f4,
gt_f4 TYPE lvc_t_f4.
CLEAR gt_f4.
gs_f4-fieldname = 'Spaltenname'.
gs_f4-register = 'X'.
gs_f4-getbefore = 'X'.
gs_f4-chngeafter = 'X'.
APPEND gs_f4 TO gt_f4.
CALL METHOD alv_grid->register_f4_for_fields
EXPORTING
it_f4 = gt_f4.
ls_dropdown-handle = '1'.
ls_dropdown-value = 'Text'.
ls_dropdown-int_value = 'Kürzel'.
APPEND ls_dropdown TO lt_dropdown.
...
CALL METHOD alv_grid->set_drop_down_table
EXPORTING
it_drop_down_alias = lt_dropdown{}.
ENDFORM.