Текущее время: Пн, июл 28 2025, 22:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: ALV: method handle_data_changed.
СообщениеДобавлено: Ср, июн 19 2013, 09:22 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Добрый день.
Необходимо сделать следующее:
Пользователь ввел номер партии, после нажатия Enter и в остальных полях были введены другие данные, количество, материал, и т.д.
После этого добавилась новая пустая строки, курсор позиционируется на новую строку, на колонку партия и все повторяется.

Господа следующий вопрос:
В ALV: method handle_data_changed. необходимо когда при нажатии на enter добавить пустую строку.
Соответственно использую:
Code:
call method if_tab->grid->APPEND_ROWS.

Затем осуществляю позиционирование с помощью:
Code:
        call method if_tab->grid->set_current_cell_via_id
          exporting
           IS_ROW_ID    = row_id
           IS_COLUMN_ID = col_id.

В таком случае получается, две строки добавляются корректно, а потом получается, что во внутренней таблице нет строки, которую добавили в ALV с помощью указанного метода.
Если добавляю непосредственно по внутреннюю таблицу, то получается наоборот.

Получается рассогласование данных между внутренней таблицей и ALV, в которой он отображается.

Может необходимо это делать в data_changed_finished, а не в data_changed?

Или подскажите как правильно сделать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ALV: method handle_data_changed.
СообщениеДобавлено: Ср, июн 19 2013, 09:27 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, фев 17 2006, 07:38
Сообщения: 99
Попробуйте перед обращением к внутренней таблице поставить вызов
Code:
grid->check_changed_data( ).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV: method handle_data_changed.
СообщениеДобавлено: Ср, июн 19 2013, 09:42 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
В таком случае он заново вызывает changed_data...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ALV: method handle_data_changed.
СообщениеДобавлено: Ср, июн 19 2013, 11:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
когда добавляешь строку нажатием на соотв. кнопку, строка появится только в контроле на фронтенде,
и появится во внутр таблице только если заполнить поле и, вероятно, нажать enter


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ALV: method handle_data_changed.
СообщениеДобавлено: Ср, июн 19 2013, 11:50 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Это да, согласен, а это программно как-то можно сделать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ALV: method handle_data_changed.
СообщениеДобавлено: Ср, июн 19 2013, 11:56 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Как вариант: в событии data_changed_finished добавить строку во внутреннюю таблицу + refresh_table_display.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV: method handle_data_changed.
СообщениеДобавлено: Ср, июн 19 2013, 12:02 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Пробовал: не помогает refresh_table_display.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ALV: method handle_data_changed.  Тема решена
СообщениеДобавлено: Ср, июн 19 2013, 14:07 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Все подтвердилось, необходимо пользоваться data_changed_finished


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

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


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

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


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

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