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

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


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

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


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

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