Bei mir funktioniert das mit dem Feldkatalog. Im CALLBACK_USER_COMMANDBernd_2006 hat geschrieben:*********************************************
wa_fieldcat-fieldname = 'CHECK'.
wa_fieldcat-tabname = 'ITAB1'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-seltext_s = 'Check'.
wa_fieldcat-seltext_m = 'Checkb.'.
wa_fieldcat-seltext_l = 'Checkbox'.
*********************************************
Sorry, jetzt wo du mich mit der Nase drauf stöst, seh ich den Unterschied.Bernd_2006 hat geschrieben:Hallo Hendrik,
wenn ich über den Feldkatalog gehe und ein eigenes Feld für die CHECKBOX in der internen Tabelle ITAB1 mitgebe habe ich das Problem bei den beiden Fkbst. REUSE_ALV_LIST_DISPLAY und REUSE_ALV_HIERSEQ_LIST_DISPLAY
dass das Feld zwar angezeigt wird aber nicht bearbeitet werden kann obwohl edit = X gesetzt ist.
Code: Alles auswählen.
CLEAR gw_fieldcat.
gw_fieldcat-fieldname = 'MARK'.
gw_fieldcat-tabname = g_tabname_header.
gw_fieldcat-outputlen = 3. "Einwenig Platz für dei Checkbox
gw_fieldcat-checkbox = 'X'.
gw_fieldcat-input = 'X'.
gw_fieldcat-datatype = 'CHAR'.
APPEND gw_fieldcat TO gt_fieldcat.
Die FuBa-ALV-Grids sind etwas zickig, was das zurückgeben der geänderten Werte angeht.dawns hat geschrieben: kann zwar die checkbox ankreuzen/demarkieren. allerdings übernimmt er das nicht in die tabelle. habe auch schon die zweite spalte (einfacher String mit Text) editiert und geschaut ob der GEÄNDERTE text in der itab steht, aber nein. die änderungen werde nicht übernommen wieso?
Code: Alles auswählen.
FORM callback_user_command_edit USING p_ucomm LIKE sy-ucomm
ps_selfield TYPE slis_selfield.
DATA: l_ref_alv TYPE REF TO cl_gui_alv_grid,
l_valid TYPE c.
CASE p_ucomm.
WHEN 'OKAY'.
* geänderte Daten zurückhohlen:
* Referenz auf ALV hohlen
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = l_ref_alv.
* Gibt die geänderte ITAB zurück
CALL METHOD l_ref_alv->check_changed_data
IMPORTING
e_valid = l_valid.
* Wenn der User etwas eingegeben hat was nicht valide ist, den FuBa
* meckern lassen
IF l_valid IS INITIAL.
EXIT.
ENDIF.