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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: ALV теряет фокус при обновлении
СообщениеДобавлено: Чт, фев 20 2020, 12:18 
Специалист
Специалист

Зарегистрирован:
Пт, июл 27 2007, 13:06
Сообщения: 137
Добрый день.

В data_changed_finished обрабатываю таблицу (цвета ячеек и другие мелочи в зависимости от содержимого), которая выводится в cl_gui_alv_grid.
После этого там же делаю refresh_table_display( EXPORTING is_stable = VALUE #( row = 'X' col = 'X' ) ), в результате чего грид теряет фокус. То есть надо кликнуть в любом месте грида, чтобы продолжить ввод с клавиатуры. При этом отредактированная ячейка остается выделенной.

Пробовал cl_gui_control=>set_focus но особо не помогло, как будто через раз работает.
Потом пробовал в различных комбинациях с cl_gui_cfw=>flush, но тоже не помогло.

Зареганы события mc_evt_enter и mc_evt_modified.

Вопрос: чего не хватает? :)

Гугл в основном выдает вопросы типа "после обновления грида слетает выделение ячейки".


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV теряет фокус при обновлении  Тема решена
СообщениеДобавлено: Чт, фев 20 2020, 12:35 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
Может, грид создан с i_appl_events = 'X'?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV теряет фокус при обновлении
СообщениеДобавлено: Чт, фев 20 2020, 12:53 
Специалист
Специалист

Зарегистрирован:
Пт, июл 27 2007, 13:06
Сообщения: 137
Да.
Убрал - вылечилось.

По факту сейчас выяснил, что mc_evt_enter и mc_evt_modified вызывают данный эффект.

А в чем разница между application events и system events?
По тексту вроде бы ясно, но хотелось бы яснее :)
Цитата:
I_appl_events
If this parameter is set, the ALV Grid Control registers all events as application events. If the parameter is not set, all events are registered as system events.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV теряет фокус при обновлении
СообщениеДобавлено: Чт, фев 20 2020, 13:27 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
Насколько я помню, если i_appl_events = '', события грида приходят только обработчику грида, иначе - приходят также и в PAI. Видимо, под "system events" и "application events" имеется в виду это различие.


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

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


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

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


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

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