Code: Alles auswählen.
METHOD handle_data_changed.
DATA ls_good TYPE lvc_s_modi.
LOOP AT er_data_changed->mt_good_cells INTO ls_good.
READ TABLE i_data1
ASSIGNING <fs_data1>
INDEX ls_good-row_id.
IF sy-subrc = 0.
READ TABLE <fs_data1>-style[]
ASSIGNING <fs_style>
WITH KEY Fieldname = ls_good-fieldname.
IF sy-subrc = 0.
<fs_style>-STYLE = '1000000F'.
ENDIF.
ENDIF.
ENDLOOP.
CALL METHOD ref_alv->refresh_table_display
EXPORTING
i_soft_refresh = abap_false
is_stable = wa_stable
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 1.
MESSAGE 'Fehler beim auffrischen der Anzeige' TYPE 'E'.
ENDIF.
ENDMETHOD.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Pinguincommander
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Pinguincommander
Bist du sicher, dass das auch für die Zellenfärbung funktioniert?a-dead-trousers hat geschrieben: ↑30.04.2013 12:57Im DATA_CHANGED darfst du die Daten deiner Tabelle NUR über den Parameter ER_DATA_CHANGED verändern (auch die Zellenfärbung) [...]
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
a-dead-trousers
Stimmt, du hast recht. Ich hab das damals nur so zusammenfassend aus dem Stehgreif geschrieben ohne wirklich nachzuschauen. Offensichtlich hab ich dem MODIFY_STYLE zuviel Funktionalität zugestanden. 😢ewx hat geschrieben: ↑09.09.2024 16:24Bist du sicher, dass das auch für die Zellenfärbung funktioniert?
ich habe meine Verarbeitung gerade mal umgestellt und setze das Feld mit LVC_T_SCOL mit MODIFY_CELL anstelle direkt in der Tabelle und anschließendem REFRESH in DATA_CHANGED_FINISHED, aber es funktioniert nicht.... :/
Danke für deine Rückmeldung!a-dead-trousers hat geschrieben: ↑10.09.2024 07:29
EDIT 2:
MODIFY_STYLE ist scheinbar doch das Richtige: Es gibt im Include <CL_ALV_CONTROL> auch Style-Constanten für die Färbung.