Posted: Fri Aug 24, 2012 2:28 pm Post subject: Как установить фокус экрана на определенном объекте
На экране находится несколько АЛВ гридов в столбик. После ввода в нижние гриды фокус экрана прыгает и нам показывается верхняя часть экрана, от чего заполнять нижние гриды становится неудобно.
Вопрос: Как установить фокус экрана на определенном гриде?
SET CURSOR FIELD фокусирует точно, правда это наверное будет не очень красиво создавать доп. поле ради фокусировки. Но в любом случае можно создать текстовое поле и фокусировать по нему, а не по гриду.
cl_gui_control=>set_focus действительно экран не выставляет на место курсора, хотя формально фокусировка происходит
Age: 60 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Aug 28, 2012 9:04 am Post subject:
Может Вам использовать TAB и размесить каждый alv на отдельной вкладке? _________________ Молитва - это запрос разработчику на изменение кода программы.
Age: 60 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Aug 28, 2012 12:37 pm Post subject:
John Doe wrote:
Четкие консультанты задание ставили?
Я вот тоже думаю, какая наглядность, если на одном экране всех гридов одновременно не видно. _________________ Молитва - это запрос разработчику на изменение кода программы.
Единственный грид, который не видно, это грид с общей,
по сути дела, неважной(ненужной) информацией.
И то грид не виден лишь на пару строчек.
Экран поделен на 3 области и то, что пользователю не нужно, он может свернуть. А вот если всё развернет, то в экран всё не влезает.
Пользователь прокручивает вниз, заполняет самый нижний грид, и при заполнении каждой ячейки экран скачет вверх. Вот такие пироги, как и в каждом топике вам важнее зачем, чем как. Я специально не описываю все подробно, а упрощаю, чтобы донести до вас суть того, что именно мне надо.
На счет SET CURSOR, как мне советовали, то здесь курсор ставится, а экран все равно прыгает вверх.
Age: 46 Joined: 05 Nov 2007 Posts: 725 Location: КраснАдар
Posted: Tue Aug 28, 2012 1:56 pm Post subject:
Вы не растраивайтесь так. Мы просто с частой периодичностью наблюдаем как кто-нибудь пытается свой "велосипед" в GUI сбацать.
Использование ALV для ввода/вывода информации в русскоязычных системах совсем не лучший выход. До сих пор SAP не исправил проблему с Unicode, благодаря которой значения с кириллицей рубятся пополам на длинных элементах данных (проверил только что на NW7.02 EHP5).
Code:
DATA itab TYPE TABLE OF soli WITH HEADER LINE.
" Собираем длинную строку 240 символов в кирилице
CONCATENATE 'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
'Владивосток-на-Амуре'
INTO itab-line.
APPEND itab.
" Пытаемся отразить в ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_structure_name = 'SOLI'
TABLES
t_outtab = itab.
После выполнения этого примера отображается только 128 символов из 255 заявленных. _________________ FunCoding.ru KicksCollector.ru
SET CURSOR проверил, у меня все ок, после вызова PAI прыгает вниз на поле в самом низу экрана и сразу виден грид. Может быть в разных ситуациях конечно ведет себя по разному
Да, SET CURSOR устанавливал фокус на поле ввода. А в целом выглядело так:
я заполнил грид - фокус экрана прыгнул вверх
затем сработал SET CURSOR на поле внизу - фокус экрана прыгнул вниз
затем я переставлял курсор обратно в грид - фокус экрана снова прыгал вверх
Вобщем было решено все-таки не создавать велосипед - дизайн экрана перестраивается
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.