skaa написал(а):
Есть ли у alv-grida событие которое срабатывает при перемещении вертикальной полосы прокрутки?
Да.
Code:
DATA: t_event TYPE cntl_events.
DATA: event TYPE cntl_event.
get_registered_events_ex( IMPORTING eventtab = t_event ).
event-eventid = CL_GUI_ALV_GRID=>EVT_VSCROLL.
event-is_shellevent = ''.
event-is_systemevent = 'X'.
APPEND event TO t_event.
set_registered_events_ex( t_event ).
...
В методе dispatch() можно будет отловить данное событие. По умолчанию dispatch() грида вызывает одноименный родительский (класса CL_GUI_ALV_GRID_BASE) метод, который ничего не делает. Поэтому придется наследовать от CL_GUI_ALV_GRID и обрабатывать ситуацию самостоятельно.
Нюанс. Попасть в отладке в метод dispatch() класса CL_GUI_ALV_GRID можно, если использовать системную отладку ("Отладка системы" в меню "Параметры настройки" во время отладки или /hs в окне команд).
Нюанс 2. Можно поиграться со значениями полей is_shellevent и is_systemevent - при определенных значений для отдельных событий появляются спецэффекты

.
Нюанс 3. У меня почему-то попадание в dispatch() в отладке происходит через раз. Почему так - не разбирался.