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

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


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

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


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

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