ABAP Alv Grid - событие для щелчка заголовка - PullRequest
0 голосов
/ 09 ноября 2018

Можно ли поймать одно нажатие кнопки в заголовке столбца ALV Grid? Я знаю о возможностях поймать double_click, создать событие для горячей точки на ячейке. Я не нашел пока ни одного клика по заголовку. (Я не хочу предоставлять сортировку или любые другие параметры данных). Единственное, что я обнаружил, это событие click_col_header OF cl_gui_alv_grid , но оно защищено, поэтому я не могу предоставить свое действие. Заранее спасибо!

1 Ответ

0 голосов
/ 10 ноября 2018

Ответ дает Раймонд на форуме SAP ABAP , я добавил фрагмент кода к его ответу, чтобы он был более понятным.

Принцип, короче говоря:

  • Установить макет ALV с помощью SGL_CLK_HD = 'X' (это активирует сортировку строк по столбцу, по которому щелкнули)
  • Переопределите поведение сортировки с помощью собственного кода, обработав событие BEFORE_USER_COMMAND и задав новую команду с помощью метода SET_USER_COMMAND
  • Определите новое поведение, которое вы хотите во время события USER_COMMAND
  • Используйте метод GET_SELECTED_COLUMNS, чтобы узнать, по какому столбцу щелкнули.

(PS: событие CLICK_COL_HEADER никогда не вызывается CL_GUI_ALV_GRID)

...