Текущее время: Пт, мар 29 2024, 12:26

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: GRID-событие на перемещение скролла  Тема решена
СообщениеДобавлено: Ср, фев 17 2021, 16:47 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Добрый день!

Может, кто подскажет, есть ли решение для такой задачи: есть два грида, необходимо на одном гриде при перемещении скролла по строкам менять содержимое второго грида. Вроде, события такого, как перемещение скролла на гриде, нет. Может, есть какой-то хитрый ход, как можно реализовать данную штуку?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: GRID событие на перемещение скрола
СообщениеДобавлено: Ср, фев 17 2021, 17:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Делал не на скролл, а на позицию курсора, то есть изменение текущей строки. Основано на событиях грида со словом DELAY.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GRID событие на перемещение скрола
СообщениеДобавлено: Ср, фев 17 2021, 17:56 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Parazit написал:
Делал не на скролл, а на позицию курсора, то есть изменение текущей строки. Основано на событиях грида со словом DELAY.

Не могли бы чуть поподробнее рассказать ?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: GRID событие на перемещение скрола
СообщениеДобавлено: Ср, фев 17 2021, 19:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Загляните в класс CL_GUI_ALV_GRID, найдите события со словом DELAY,. Дальше всё стандартно - создать и назначить обработчиков событий, в которых вертите вторым гридом как хотите. Единственный нюанс, события срабатывают с задержкой (ибо DELAY), кажется по умолчанию 1,5 сек. Вероятно, чтобы не дёргать обновление экрана на каждое телодвижение курсора, всё-таки SAP изначально терминальная система. Если это напрягает, то можно избавиться от задержки, создав своего потомка и в конструкторе указать свои значения, например 0:

Code:
method CONSTRUCTOR.
CALL METHOD SUPER->CONSTRUCTOR
  EXPORTING
*    I_SHELLSTYLE      = 0
*    I_LIFETIME        =
    I_PARENT          = I_PARENT
    I_APPL_EVENTS     = I_APPL_EVENTS
*    I_PARENTDBG       =
*    I_APPLOGPARENT    =
*    I_GRAPHICSPARENT  =
*    I_NAME            =
*    I_FCAT_COMPLETE   = SPACE
  EXCEPTIONS
*    ERROR_CNTL_CREATE = 1
*    ERROR_CNTL_INIT   = 2
*    ERROR_CNTL_LINK   = 3
*    ERROR_DP_CREATE   = 4
    others            = 5
        .
*IF SY-SUBRC <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
  Call method Me->SET_DELAY_CHANGE_SELECTION
    exporting TIME = 0.
  Call method Me->SET_DELAY_MOVE_CURRENT_CELL
    exporting TIME = 0.
endmethod.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GRID событие на перемещение скрола
СообщениеДобавлено: Ср, фев 17 2021, 19:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Ещё нужно будет из своей программы зарегистрировать эти DELAY-события, чтобы они дёргаться начали:
Code:
  Call method go_ALV_Grid_Top_0100->Register_Delayed_Event
    exporting
      i_Event_Id = cl_Gui_ALV_Grid=>Mc_Evt_Delayed_Change_Select.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: GRID событие на перемещение скрола
СообщениеДобавлено: Чт, фев 18 2021, 09:01 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Подскажите-DELAYED_CHANGED_SEL_CALLBACK или DELAYED_CALLBACK событие должно быть?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: GRID событие на перемещение скрола
СообщениеДобавлено: Чт, фев 18 2021, 10:31 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Спасибо, получилось!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB