Текущее время: Чт, июл 24 2025, 02:06

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


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

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


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

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