Текущее время: Пн, июн 30 2025, 23:43

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Ср, окт 26 2011, 07:03 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, окт 05 2011, 06:11
Сообщения: 61
Здравствуйте!
Есть ли в классе CL_GUI_ALV_TREE событие, которое происходит по одинарному щелчку мыши на узле дерева?( по аналогии с событием NODE_DOUBLE_CLICK)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Ср, окт 26 2011, 07:26 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
aks написал(а):
Здравствуйте!
Есть ли в классе CL_GUI_ALV_TREE событие, которое происходит по одинарному щелчку мыши на узле дерева?( по аналогии с событием NODE_DOUBLE_CLICK)

При разворачивании узла есть событие expand_nc по-момему, если Вы об этом.
Другое, ноду в layout-е можно указать style типа линк, и отлавливать затем одинарное нажатие событием link_click...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Ср, окт 26 2011, 11:17 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, окт 05 2011, 06:11
Сообщения: 61
спасибо большое!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 11:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
Задам тут вопрос по этому же классу, чтобы темы не плодить.

Пользователь нажимает кнопку - вызывается дерево.
Сделана обработка двойного клика на строке, определяем номер узла:
Code:
CALL METHOD g_alv_tree->get_selected_item
    IMPORTING
      e_selected_node = lv_node.

Если дерево вызывается первый раз, метод возвращает номер узла
Если дерево вызывается повторно - lv_node пустой.

В чем может быть засада?

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 11:27 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Silence1, экземпляр класса CL_GUI_ALV_TREE пересоздаете?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 11:42 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
Пономарев Артем написал:
Silence1, экземпляр класса CL_GUI_ALV_TREE пересоздаете?

да, и иерархию тоже (т.к. данные могут измениться)
Code:
if g_alv_tree is NOT INITIAL.
    free g_alv_tree.
  endif.

  CREATE OBJECT g_alv_tree
    EXPORTING
.....

при создании иерархии делаю CALL METHOD g_alv_tree->delete_all_nodes.

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 12:15 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Silence1, позовите деструктор. g_alv_tree->free( ).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 12:38 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
Пономарев Артем написал:
Silence1, позовите деструктор. g_alv_tree->free( ).

звала, хотя в отладчике и вижу, что он ничего не очищает, но после него повторно вообще не выводится tree.

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 12:45 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Я имел в виду
Code:
if g_alv_tree is NOT INITIAL.
    g_alv_tree->free( ).
    free g_alv_tree.
endif.

Хотя более правильным был бы вариант наоборот:
Code:
if g_alv_tree is initial.
CREATE OBJECT g_alv_tree
    EXPORTING ...
endif

Т.е. пересоздавать каждый раз само дерево нет необходимости. Достаточно при выходе из экрана удалить иерархию. И при каждом вызове - переформировать ее.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 12:53 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
поняла, спасибо!
вопрос по даблклику снят :)

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: вопрос по CL_GUI_ALV_TREE
СообщениеДобавлено: Чт, окт 27 2011, 13:08 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
Пономарев Артем написал:
Т.е. пересоздавать каждый раз само дерево нет необходимости. Достаточно при выходе из экрана удалить иерархию. И при каждом вызове - переформировать ее.


Не получается так
если не создаю заново дерево, дамп при попытке создать иерархию на CALL METHOD g_alv_tree->add_node.

Если смотреть в отладчике:
Code:
METHOD ADD_NODE.
  FIELD-SYMBOLS: <TAB1> TYPE standard TABLE,
                 <wa> type any.

  assign mt_outtab->* to <tab1>.


не ассигнится, потому что mt_outtab - мусор

_________________
Silence v.2.0


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

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


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

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


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

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