Текущее время: Вс, июл 20 2025, 23:27

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


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

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


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

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