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

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


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

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


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

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