Текущее время: Вт, июл 22 2025, 21:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: АЛВ грид!
СообщениеДобавлено: Пт, май 18 2012, 14:58 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
Господа! столкнулся с такой проблемой/не проблемой...даже не знаю как назвать...!
Допустим есть АЛВ грид.
в нем два поля F1и F2.
через метод grid->register_f4_for_fields указываем что для F1 будем сами обрабатывать F4.
В событии ONF4 грида вызываем сечхелп и получаем значение F1. По F1 определяем каким-нибудь способом F2.
и через
Code:
DATA: ls_modi TYPE lvc_s_modi.
    FIELD-SYMBOLS: <itab> TYPE lvc_t_modi.
    ASSIGN er_event_data->m_data->* TO <itab>.

          ls_modi-row_id    = es_row_no-row_id.
          ls_modi-fieldname = 'F1'.
          ls_modi-value     = ‘Новое значение’.
          APPEND ls_modi TO <itab>.

          ls_modi-row_id    = es_row_no-row_id.
          ls_modi-fieldname = 'F2'.
          ls_modi-value     = ‘Новое значение’.
          APPEND ls_modi TO <itab>.

возвращаем новые значения.

Все работает отлично пока мы не спрячем поле F2 у АЛВ. Тогда значение F2 после вызова сечхелпа вылезет в самой первой колонке (где кнопка выбора строки).
Это такая фишка?

Получается что нужно перед тем как вызывать
Code:
          ls_modi-row_id    = es_row_no-row_id.
          ls_modi-fieldname = 'F2'.
          ls_modi-value     = ‘Новое значение’.
          APPEND ls_modi TO <itab>.

зачитать сначала состояние каталога полей и посмотреть видимо поле или нет. и если не видимо, то подставлять напрямую в таблицу, а не пропихивая через ls_modi?

Версия 4.6.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: АЛВ грид!
СообщениеДобавлено: Пн, май 21 2012, 09:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 21 2005, 12:40
Сообщения: 371
Пол: Мужской
Мда, каких-то 7 лет прошло :) - поднимал такую же тему.
viewtopic.php?f=13&t=9643


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЛВ грид!
СообщениеДобавлено: Пн, май 21 2012, 12:11 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
как-то побороли это?

я вижу два пути:
1) писать прямо во внутреннюю таблицу поле
2) запоминать состояние каталога, отображать скрытые поля, заполнять через lvc_t_modi поля, и вновь восстанавливать старый каталог. Правда не уверен что это вариант сработает.

Я пока плюнул на то что в кнопке что-то отображается. Но пользователи возбуждаются по этому поводу.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: АЛВ грид!
СообщениеДобавлено: Пн, май 21 2012, 14:56 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
И еще попутно вопрос.
Есть АЛВ.
зарегистрировано
Code:
    CALL METHOD g_grid1->register_edit_event
                    EXPORTING
                       i_event_id = cl_gui_alv_grid=>mc_evt_enter.
    CALL METHOD g_grid1->register_edit_event
                    EXPORTING
                       i_event_id = cl_gui_alv_grid=>mc_evt_modified.
    SET HANDLER g_event_receiver->handle_data_changed
                                                 FOR g_grid1.

При изменении ячеек события срабатывают и типа все хорошо.
Но когда я пытаюсь удалить данные (кнопкой DEL на клавиатуре) после выделения диапазона ячеек через CTRL-Y (или выделив всю строку кнопкой слева), то событие уже не срабатывает. Срабатывает только после того, как я ENTER нажму.

Может еще что зарегистрировать нужно? Или это так и должно быть?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: АЛВ грид!
СообщениеДобавлено: Ср, май 23 2012, 16:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 21 2005, 12:40
Сообщения: 371
Пол: Мужской
Победить данное отображение не удалось.

Про CTRL-Y не скажу. Но имхо тут начало изменений по ENTER - самое то. и нужно просто смириться.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЛВ грид!  Тема решена
СообщениеДобавлено: Пт, май 25 2012, 10:19 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
Просто как-то логики не вижу.
Когда я стою на конкретной ячейке и нажимаю DELETE без всякого последующего ENTER, то у меня ячейка чистится и срабатывает событие DATACHANGED (правда не всегда. иногда при нажатии DELETE ячейка чистится и АЛВ переходит в режим редактирования ячейки. и тогда приходится нажимать ENTER. Но иногда ячейка просто чистится без перехода в редактирование ячейки и нажимать ENTER уже не надо).
Когда я выделяю диапазон ячеек и нажимаю DELETE, то потом мне зачем-то нужно еще и ENTER нажать для принятия изменений.


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

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


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

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


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

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