Текущее время: Ср, июл 23 2025, 17:20

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: get_focus
СообщениеДобавлено: Пт, май 18 2012, 14:01 
Ассистент
Ассистент

Зарегистрирован:
Ср, фев 10 2010, 08:33
Сообщения: 28
Откуда: Тольятти
Пол: Мужской
на экранной форме имеются два алвгрида, как определить какой из них является активным?

метод get_focus в принципе отрабатывает:

data active_grid type ref to cl_gui_control.

call method
CL_GUI_ALV_GRID=>get_focus
importing control = active_grid.
check sy-subrc = 0.

в итоге ссылка на грид записывается в active_grid, но как теперь получить имя этого самого грида?
функция get_name не помогла.

может кто знает как вообще получить имя объекта эранной формы который в данный момент активен(на нем стоит красный курсор рамочк)))


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: get_focus
СообщениеДобавлено: Пт, май 18 2012, 14:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
А зачем?
Объектно-ориентированный подход предполагает полиморфизм.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: get_focus
СообщениеДобавлено: Пн, май 21 2012, 09:25 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 21 2005, 12:40
Сообщения: 371
Пол: Мужской
Чтобы различать 2 грида на экране - нужно задать при создании им разные метки:
Code:
      GS_VARIANT-HANDLE = 'EDIT'.

    CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        IS_LAYOUT            = GS_LAYOUT
        I_SAVE               = 'A'
        IS_VARIANT           = GS_VARIANT
        IT_TOOLBAR_EXCLUDING = GT_EXCLUDE
      CHANGING
        IT_FIELDCATALOG      = GT_FCATALOG[]
        IT_OUTTAB            = GT_OUTTAB
        IT_SORT              = GT_GRID_SORT.


А затем, думаю, по ней можно их и различить.
Данный хэндл возвращается в событиях грида.
Но раз вы сами инициируете определение активного грида, смотрите (правда частный) атрибут M_CL_VARIANT.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: get_focus
СообщениеДобавлено: Ср, май 23 2012, 11:06 
Ассистент
Ассистент

Зарегистрирован:
Ср, фев 10 2010, 08:33
Сообщения: 28
Откуда: Тольятти
Пол: Мужской
все оказалось проще)

после создания гридов задаем им имена

grid_1->SET_NAME('GRID1')
обязательно большими буквами имя.

затем CL_GUI_ALV_GRID=>GET_NAME
и затем применяем GET_NAME


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

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


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

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


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

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