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

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


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

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


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

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