Текущее время: Вт, июл 29 2025, 16:04

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Не срабатывает событие handle_on_drag
СообщениеДобавлено: Вт, дек 20 2011, 15:09 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 20 2011, 15:08
Сообщения: 25
Здравствуйте!

Я делаю перетаскивание drag and drop с ALV Tree на ALV grid.
Элемент дерева уже перетаскивается на грид, но почему то событие HANDLE_ON_DRAG не срабатвает

Code:
CLASS CL_TREE_EVENT_RECEIVER DEFINITION.

PUBLIC SECTION.
* double click item
METHODS HANDLE_DOUBLE_CLICK
FOR EVENT NODE_DOUBLE_CLICK OF cl_gui_alv_tree
IMPORTING node_key sender.
METHODS HANDLE_ON_DRAG
FOR EVENT ON_DRAG OF CL_GUI_ALV_TREE
IMPORTING DRAG_DROP_OBJECT
FIELDNAME
NODE_KEY.
PRIVATE SECTION.
ENDCLASS.

CLASS CL_TREE_EVENT_RECEIVER IMPLEMENTATION.
* handle double_click
METHOD HANDLE_DOUBLE_CLICK.
perform select_flats using node_key.
ENDMETHOD.
* Drag & Drop
METHOD HANDLE_ON_DRAG.
CHECK NOT NODE_KEY IS INITIAL.
perform AddFlat using node_key.
CALL METHOD CL_GUI_CFW=>SET_NEW_OK_CODE EXPORTING NEW_CODE =
FCODE_ENTR.
ENDMETHOD.
ENDCLASS.

В PBO пытаюсь поймать событие

Code:
if TREE_EVENT_RECEIVER is initial.
CREATE OBJECT TREE_EVENT_RECEIVER.

DATA: LT_EVENTS TYPE CNTL_SIMPLE_EVENTS,
L_EVENT TYPE CNTL_SIMPLE_EVENT.
* define the events which will be passed to the backend
CLEAR L_EVENT.
L_EVENT-EVENTID = CL_GUI_COLUMN_TREE=>EVENTID_NODE_DOUBLE_CLICK.
APPEND L_EVENT TO LT_EVENTS.
CLEAR L_EVENT.
L_EVENT-EVENTID = CL_GUI_COLUMN_TREE=>EVENTID_EXPAND_NO_CHILDREN.
APPEND L_EVENT TO LT_EVENTS.
CLEAR L_EVENT.
L_EVENT-EVENTID = CL_GUI_COLUMN_TREE=>EVENTID_HEADER_CLICK.
APPEND L_EVENT TO LT_EVENTS.
CLEAR L_EVENT.
* register events
CALL METHOD TREE1->SET_REGISTERED_EVENTS
EXPORTING
EVENTS = LT_EVENTS
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
ILLEGAL_EVENT_COMBINATION = 3.
IF SY-SUBRC <> 0.
MESSAGE X534(0K).
ENDIF.
SET HANDLER TREE_EVENT_RECEIVER->HANDLE_ON_DRAG FOR TREE1.
SET HANDLER TREE_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR TREE1.

CALL METHOD TREE1->FRONTEND_UPDATE.
endif.


perform AddFlat using node_key не выполняется.

подскажите, пожалуйста, в чем может быть дело? Почему не работает?

Пономарев Артем: используйте тег code, пожалуйста


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не срабатывает событие handle_on_drag
СообщениеДобавлено: Чт, дек 22 2011, 10:32 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 20 2011, 15:08
Сообщения: 25
Проблема решена.


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

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


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

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


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

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