Текущее время: Ср, июл 23 2025, 14:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Как обойти нажатие Enter в REUSE_ALV_GRID_DISPLAY
СообщениеДобавлено: Чт, мар 22 2012, 18:51 
Ассистент
Ассистент

Зарегистрирован:
Вс, дек 18 2011, 18:09
Сообщения: 30
Проблема заключается в следующем:

С помощью REUSE_ALV_GRID_DISPLAY на экран выводится таблица. На экране есть пользовательские кнопки "добавить строку" и "сохранить строку". Нажав на кнопку "добавить строку" к выводимой таблицу добавляется строчка с полем доступным для редактирования. Если заполнить это поле и нажать Enter или мышкой нажать на другое поле таблицы или нажать стандартную кнопку GUI-статуса, то срабатывает событие DATA_CHANGED и значение заполненного поля остается, а если нажать кнопку "сохранить строку" (или любую другую пользовательскую кнопку GUI-статуса) сразу после заполнения этого поля, то это событие не срабатывает, а проходит событие USER_COMMAND, в котором не видны данные, введенные в это поле и после нажатия кнопки это поле снова становится пустым.
Как то можно обойти эту проблему или обязательно перед нажатием на кнопку нажимать Enter или выполнять какое либо другое действие приводящее к срабатыванию DATA_CHANGED?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как обойти нажатие Enter в REUSE_ALV_GRID_DISPLAY  Тема решена
СообщениеДобавлено: Чт, мар 22 2012, 19:45 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Code:
FORM call_user_command USING r_ucomm  LIKE sy-ucomm
                            rs_selfield TYPE slis_selfield.
  DATA: l_grid TYPE REF TO cl_gui_alv_grid.
  DATA: l_ok.
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = l_grid.
  CALL METHOD l_grid->check_changed_data
        IMPORTING
          e_valid   = l_ok.


и в установке статуса например
Code:
  CALL METHOD l_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_modified.

  CALL METHOD l_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_enter.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как обойти нажатие Enter в REUSE_ALV_GRID_DISPLAY
СообщениеДобавлено: Пт, мар 23 2012, 12:11 
Ассистент
Ассистент

Зарегистрирован:
Вс, дек 18 2011, 18:09
Сообщения: 30
Спасибо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как обойти нажатие Enter в REUSE_ALV_GRID_DISPLAY
СообщениеДобавлено: Пт, мар 23 2012, 12:58 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
а проще, при вызове модуля, передать параметр I_GRID_SETTINGS-EDT_CLI_CB = 'X'


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

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


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

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


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

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