Das auslösen der DATA_CHANGE-Ereignis des CL_GUI_ALV_GRID, oder warum ist es nicht auslösen automatisch?
Habe ich eine Instanz von CL_GUI_ALV_GRID
referenziert durch die variable mo_alv_grid
.
Habe ich eine button-Spalte in diesem Gitter, die nach einiger Logik, aktualisiert die Tabelle mt_alv_grid
(backing mo_alv_grid
).
Ich muss in der Lage sein, um das Ereignis auszulösen DATA_CHANGED
an dieser Stelle.
Ich habe versucht, viele Methoden der CL_GUI_ALV_GRID
wie CHECK_DATA_CHANGED
und REFRESH_TABLE_DISPLAY
und auch CL_GUI_CFW=>FLUSH
und CL_GUI_CFW=>SET_NEW_OK_CODE( 'ENTER' ).
aber nichts davon hat geklappt.
Gibt es eine Möglichkeit zum auslösen der DATA_CHANGED
Ereignis, oder sollte ich die Dinge komplett anders???
Nur um zu klären - Sie haben eine Taste in der ALV-grid, löst ABAP-code, der die änderungen der Daten in der backend-interne Tabelle und möchten die Anzeige aktualisiert werden?
all das, aber die Anzeige WIRD aktualisiert, und ich muss das trigger-event DATA_CHANGED automatisch (auch nicht schlagen
DATA_CHANGED soll nicht aufgerufen werden, wenn die Daten programmgesteuert aktualisiert, nur, wenn der BENUTZER ändert die Daten.
Schließlich habe ich neu gestaltet, um die ganze Sache 😐 trotzdem thx
all das, aber die Anzeige WIRD aktualisiert, und ich muss das trigger-event DATA_CHANGED automatisch (auch nicht schlagen
ENTER
danach funktioniert)DATA_CHANGED soll nicht aufgerufen werden, wenn die Daten programmgesteuert aktualisiert, nur, wenn der BENUTZER ändert die Daten.
Schließlich habe ich neu gestaltet, um die ganze Sache 😐 trotzdem thx
InformationsquelleAutor vlad-ardelean | 2013-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob dies Ihr problem löst, aber um ein update auf die ALV interne Tabelle, in der PAI, könnten Sie die folgende Methode verwenden:
InformationsquelleAutor Eduardo Copat
gut, es ist möglich.
1) ändern sich nicht die Werte in der Tabelle durch das Programm
2) erstellen Sie eine änderungsprotokoll vom Typ LVC_T_MODI mit einem neuen Werte für die Linien benötigt
dann rufen Sie
wo lo_grid ist Instanz von cl_gui_alv_grid und lt_cells Tabelle Typ LVC_T_MODI. bitte beachten Sie, dass Sie benötigen, um Feld VAL_DATA der layout-Struktur zu (LVC_S_LAYO) auf 'X' bei Aufruf der ALV-grid für die erste Zeit, um diese Arbeit zu machen.
nachdem dieser Klasse ändert sich automatisch die interne Tabelle für Sie und rufen Sie DATA_CHANGE-Ereignis
InformationsquelleAutor Denis Muzhzhukhin