Текущее время: Сб, июл 26 2025, 04:14

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Ср, фев 08 2012, 11:34 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
Всем добрый день!
Вопрос по классу cl_gui_list_tree. Можно ли получить текущее положение фокуса в дереве. Другими словами - получит node_key текущей позиции дерева, где мы стоим. Что-то я ни в методах, ни в атрибутах не нашел.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Ср, фев 08 2012, 12:07 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 15 2009, 05:55
Сообщения: 174
Откуда: Мегион - > СПб
Пол: Мужской
get_selected_node

_________________
Ничто так не заразительно, как смех начальника...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Ср, фев 08 2012, 12:09 
Ассистент
Ассистент

Зарегистрирован:
Ср, ноя 02 2011, 16:37
Сообщения: 33
Простым поиском было обнаружено:
GET_SELECTED_NODE Instance Method Public Returns the Key of the Selected Node
GET_SELECTED_NODES Instance Method Public Reads the selected nodes


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Ср, фев 08 2012, 15:09 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
GET_SELECTED_NODE я конечно же видел. Но чтобы node было selected, нужно выполнить метод SET_SELECTED_NODE, которому нужно указать NODE_KEY. Замкнутый цикл какой-то получается.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Ср, фев 08 2012, 20:07 
Специалист
Специалист

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
Смотрите обработку событий, например, в SAPTLIST_TREE_CONTROL_DEMO. По двойному щелчку получаем ключ ветки и номер в списке.

_________________
SAP macht frei


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Чт, фев 09 2012, 09:21 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
Как раз нужно без даблклика, по внешней кнопке. Похоже в этом классе такое не предусмотрено.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Чт, фев 09 2012, 10:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
2 SMak: что значит "по внешней кнопке"? Если Вы имеете ввиду: выделили узел, потом нажали кнопку на тулбаре или в гуи-статусе - то все работает. Пишите или обработчик для нажатия кнопки на тулбаре, или в PAI обработку кнопки гуи-статуса.И в том и в другом случае используете приведенные методы. В чем конкретно проблема-то?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Чт, фев 09 2012, 10:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
SMak написал(а):
Но чтобы node было selected, нужно выполнить метод SET_SELECTED_NODE, которому нужно указать NODE_KEY.

Если GET_SELECTED_NODE не вернет то, нужно, то вызывайте GET_SELECTED_ITEM.
Пример - транзакция IW40.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Чт, фев 09 2012, 10:40 
Специалист
Специалист

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
SMak написал(а):
Как раз нужно без даблклика, по внешней кнопке. Похоже в этом классе такое не предусмотрено.


Какая ветка должна быть отмечена по нажатию внешней кнопки?

Все предусмотрено. Смотрите, например, тр. SE83. В ней реализован поиск по кнопке и выделение результата поиска.

_________________
SAP macht frei


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Чт, фев 09 2012, 11:12 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
event selection_changed пробовали ? если память не изменяет то это событие кажись реагировало на передвижения (без дабл кликов) по узлам дерева

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Чт, фев 09 2012, 13:12 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
GET_SELECTED_NODE получилось, что-то я раньше не так делал наверно.
Кстати у класса cl_gui_alv_tree больше возможностей обработки, можно использовать его.
Спасибо всем, кто откликнулся.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс CL_GUI_LIST_TREE
СообщениеДобавлено: Пт, фев 10 2012, 06:34 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
В классе cl_gui_alv_tree GET_SELECTED_NODE и GET_SELECTED_ITEM работают по разному в зависимости от того выбрана ли строка целиком или только отдельная ячейка, поэтому для надежности:

Code:
  call method tree->get_selected_item
    importing
      e_selected_node   = pf_node_key
    exceptions
      no_item_selection = 1
      cntl_system_error = 2
      failed            = 3
      others            = 4
          .
  if sy-subrc <> 0.
  endif.

  if pf_node_key is initial.
    data: lt_nodes type lvc_t_nkey.

    call method tree->get_selected_nodes
      changing
        ct_selected_nodes = lt_nodes
      exceptions
        cntl_system_error = 1
        dp_error          = 2
        failed            = 3
        others            = 4.
    if sy-subrc <> 0.

    endif.
    data: lf_size type i.
    lf_size = lines( lt_nodes ).
    if lf_size = 1.
      read table lt_nodes index 1 into pf_node_key.
    endif.
  endif.


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

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


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

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


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

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