Текущее время: Пт, апр 19 2024, 11:19

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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