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

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


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

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


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

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