SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Как установить фокус экрана на определенном объекте



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
SAPBeginner
Участник
Участник



Joined: 03 Jul 2012
Posts: 29

PostPosted: Fri Aug 24, 2012 2:28 pm    Post subject: Как установить фокус экрана на определенном объекте Reply with quote

На экране находится несколько АЛВ гридов в столбик. После ввода в нижние гриды фокус экрана прыгает и нам показывается верхняя часть экрана, от чего заполнять нижние гриды становится неудобно.

Вопрос: Как установить фокус экрана на определенном гриде?
Back to top
View user's profile Send private message
Shvetz
Специалист
Специалист



Joined: 05 Oct 2007
Posts: 53

PostPosted: Fri Aug 24, 2012 3:12 pm    Post subject: Reply with quote

Не пробовал, но может это поможет
CALL METHOD cl_gui_control=>set_focus EXPORTING control = go_grid.
Back to top
View user's profile Send private message
SAPBeginner
Участник
Участник



Joined: 03 Jul 2012
Posts: 29

PostPosted: Mon Aug 27, 2012 8:59 am    Post subject: Reply with quote

Использую
METHOD c_alv_grid ->set_current_cell_via_id
+
METHOD cl_gui_control=>set_focus

Курсор устанавливается в нужном гриде, но экран все равно скачит вверх и мой грид пропадает из поля зрения
Back to top
View user's profile Send private message
Shvetz
Специалист
Специалист



Joined: 05 Oct 2007
Posts: 53

PostPosted: Mon Aug 27, 2012 12:39 pm    Post subject: Reply with quote

SET CURSOR FIELD фокусирует точно, правда это наверное будет не очень красиво создавать доп. поле ради фокусировки. Но в любом случае можно создать текстовое поле и фокусировать по нему, а не по гриду.
cl_gui_control=>set_focus действительно экран не выставляет на место курсора, хотя формально фокусировка происходит
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 195
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Tue Aug 28, 2012 9:04 am    Post subject: Reply with quote

Может Вам использовать TAB и размесить каждый alv на отдельной вкладке?
_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
SAPBeginner
Участник
Участник



Joined: 03 Jul 2012
Posts: 29

PostPosted: Tue Aug 28, 2012 9:42 am    Post subject: Reply with quote

Задание по оформлению четкое, с закладками будет не наглядно.
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 45
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Tue Aug 28, 2012 12:31 pm    Post subject: Reply with quote

Четкие консультанты задание ставили?
_________________
FunCoding.ru
KicksCollector.ru
Back to top
View user's profile Send private message Blog
vga
Мастер
Мастер


Age: 195
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Tue Aug 28, 2012 12:37 pm    Post subject: Reply with quote

John Doe wrote:
Четкие консультанты задание ставили?

Я вот тоже думаю, какая наглядность, если на одном экране всех гридов одновременно не видно. Smile

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
SAPBeginner
Участник
Участник



Joined: 03 Jul 2012
Posts: 29

PostPosted: Tue Aug 28, 2012 1:13 pm    Post subject: Reply with quote

Единственный грид, который не видно, это грид с общей,
по сути дела, неважной(ненужной) информацией.
И то грид не виден лишь на пару строчек.

Экран поделен на 3 области и то, что пользователю не нужно, он может свернуть. А вот если всё развернет, то в экран всё не влезает.
Пользователь прокручивает вниз, заполняет самый нижний грид, и при заполнении каждой ячейки экран скачет вверх. Вот такие пироги, как и в каждом топике вам важнее зачем, чем как. Я специально не описываю все подробно, а упрощаю, чтобы донести до вас суть того, что именно мне надо.

На счет SET CURSOR, как мне советовали, то здесь курсор ставится, а экран все равно прыгает вверх.
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 45
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Tue Aug 28, 2012 1:56 pm    Post subject: Reply with quote

Вы не растраивайтесь так. Мы просто с частой периодичностью наблюдаем как кто-нибудь пытается свой "велосипед" в 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
Back to top
View user's profile Send private message Blog
SAPBeginner
Участник
Участник



Joined: 03 Jul 2012
Posts: 29

PostPosted: Tue Aug 28, 2012 2:02 pm    Post subject: Reply with quote

Спасибо, что предупредили. Постараюсь ограничиваться использованием ALV.

А что насчет велосипеда, то пусть это мне даже не пригодится, но знать, что такое возможно и как, точно не помешает.
Back to top
View user's profile Send private message
Shvetz
Специалист
Специалист



Joined: 05 Oct 2007
Posts: 53

PostPosted: Tue Aug 28, 2012 2:13 pm    Post subject: Reply with quote

SET CURSOR проверил, у меня все ок, после вызова PAI прыгает вниз на поле в самом низу экрана и сразу виден грид. Может быть в разных ситуациях конечно ведет себя по разному
Back to top
View user's profile Send private message
SAPBeginner
Участник
Участник



Joined: 03 Jul 2012
Posts: 29

PostPosted: Fri Aug 31, 2012 8:16 am    Post subject: Reply with quote

Да, SET CURSOR устанавливал фокус на поле ввода. А в целом выглядело так:
я заполнил грид - фокус экрана прыгнул вверх
затем сработал SET CURSOR на поле внизу - фокус экрана прыгнул вниз
затем я переставлял курсор обратно в грид - фокус экрана снова прыгал вверх Very Happy

Вобщем было решено все-таки не создавать велосипед - дизайн экрана перестраивается
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
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.