Текущее время: Пн, июл 21 2025, 20:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Обновление ALV GRID
СообщениеДобавлено: Пт, дек 15 2006, 09:01 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 28 2005, 08:50
Сообщения: 141
Добрый день!

CALL METHOD g_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING "it_sort = gt_sortalv[]
it_fieldcatalog = p_fieldcat
it_outtab = t_outtab.
поля грида редактируемые,
в одной ячейке вводим данные и по нажатию Enter происходит обработка данных во внутренней таблице t_outtab, таблица сортируется, т.е. позиции строк меняются, и после обновляю
CALL METHOD g_grid->REFRESH_TABLE_DISPLAY
EXPORTING
is_stable = gs_stable
i_soft_refresh = ''.
все нормально обновляется, но ячейка в котором данные вводились (на экране) не обновляется, должна быть пустая ячейка (т.к. в соответствующем поле во внутренней таблице нет записи ), но запись введенная в ячейке до события нажатия Enter остается :? .

Как обновить экран (ALV GRID) полностью?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 10:40 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Вам нужно обновить сначала изменённую ячейку. Для этого надо либо напрямую вызвать метод CHECK_CHANGED_DATA, либо зарегистрировать соответствующее событие с помощью REGISTER_EDIT_EVENT и уже потом обновлять содержимое.

А вообще в нынешней реализации редактируемый грид - дело муторное.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 13:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 28 2005, 08:50
Сообщения: 141
EGF написал(а):
Вам нужно обновить сначала изменённую ячейку. Для этого надо либо напрямую вызвать метод CHECK_CHANGED_DATA, либо зарегистрировать соответствующее событие с помощью REGISTER_EDIT_EVENT и уже потом обновлять содержимое.

А вообще в нынешней реализации редактируемый грид - дело муторное.


Я зарегистрировал событие data_changed, и все обновления делаю при выполнении этого события.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 14:15 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
И вызов REFRESH_TABLE_DISPLAY тоже делаете из этого события? Если так, то скорее всего обновить ячейку не получится, если только попробовать принудительно через вызов CL_ALV_CHANGED_DATA_PROTOCOL->MODIFY_CELL.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 14:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 28 2005, 08:50
Сообщения: 141
EGF написал(а):
И вызов REFRESH_TABLE_DISPLAY тоже делаете из этого события? Если так, то скорее всего обновить ячейку не получится, если только попробовать принудительно через вызов CL_ALV_CHANGED_DATA_PROTOCOL->MODIFY_CELL.


Да, спасибо, я сейчас пытаюсь использовать это способ.


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

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


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

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


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

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