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

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


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

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


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

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