Текущее время: Пт, июл 18 2025, 03:14

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Контекстное меню в дереве при перетаскивании?
СообщениеДобавлено: Ср, авг 20 2014, 15:15 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, окт 12 2005, 07:54
Сообщения: 45
Пол: Мужской
Пытаюсь изо всех сил сделать drag'n'drop в дереве на основе CL_GUI_LIST_TREE и
хочу чтобы при вставке вызывалось контекстное меню с указанием места вставки.
Всё получается кроме этого контекстного меню... Может кто-то уже это проходил?

_________________
Большие обещания уменьшают доверие


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контекстное меню в дереве при перетаскивании?
СообщениеДобавлено: Ср, авг 20 2014, 16:32 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 156
Посмотрите в отладке как это реализовано при вставке узла, когда редактируется смартформа.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Контекстное меню в дереве при перетаскивании?
СообщениеДобавлено: Чт, авг 21 2014, 06:54 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, окт 12 2005, 07:54
Сообщения: 45
Пол: Мужской
Спасибо, baboon, за совет.
Ушёл смотреть смартформы. Кстати, там еще не сразу это контекстное меню и вызовешь.

_________________
Большие обещания уменьшают доверие


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контекстное меню в дереве при перетаскивании?
СообщениеДобавлено: Чт, авг 21 2014, 09:49 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, окт 12 2005, 07:54
Сообщения: 45
Пол: Мужской
Спасибо, baboon, еще раз. Всё получилось и сам бы ни в жизнь не написал бы так.
Привожу код для справки, может кому-то пригодится...
Code:
data: l_style         type i,
      l_wa_rm_list    type rsscm,
      l_rm_list       type standard table of rsscm initial size 2,
      l_parentid      type int4,
      l_owner_repid   type syrepid,
      l_dynnr         type sydynnr,
      l_handle        type cntl_handle,
      l_selected_item type rsscm-pfid,
      l_typetext      like text_for_node,
      l_nametext      type tdobjname,
      l_captiontext   type tdtext.

  l_dynnr        = sy-dynnr.
  l_owner_repid  = sy-repid.
  l_style        = ws_child + ws_border + ws_tabstop + ws_thickframe.

  if l_parentid is initial.
     l_parentid = dynpro_default.
  endif.

  call function 'CONTROL_CREATE'
      exporting
           clsid         = 'SAP.RightMouseMenuControl.1'     "#EC NOTEXT
           shellstyle    = l_style
           parentid      = l_parentid
           owner_repid   = l_owner_repid
           dynpro_number = l_dynnr
      changing
           h_control     = l_handle
       exceptions
            others       = 0.

  perform get_type_and_name using    p_node_current-handle
                            changing l_typetext
                                     l_nametext
                                     l_captiontext.

  if p_node_current-handle->nodetype eq c_node_event.
*   display event description as its name
    l_nametext = l_captiontext.
  endif.

  l_wa_rm_list-pfid    = 1.
  l_wa_rm_list-enabled = 'X'.
  concatenate 'Unter dem Knoten'(d01) l_nametext into l_wa_rm_list-text
              separated by space.
  l_wa_rm_list-fcode   = c_dd_fcode_first_child.
  append l_wa_rm_list to l_rm_list.

  l_wa_rm_list-pfid    = 2.
  l_wa_rm_list-enabled = 'X'.
  concatenate 'Nach dem Knoten'(d02) l_nametext into l_wa_rm_list-text
              separated by space.
  l_wa_rm_list-enabled = 'X'.
  l_wa_rm_list-fcode   = c_dd_fcode_next_sibling.
  append l_wa_rm_list to l_rm_list.

  call function 'DP_CONTROL_ASSIGN_TABLE'
       exporting
           h_cntl       = l_handle
           tabname      = 'RSSCM'                            "#EC NOTEXT
           medium       = 'object'                           "#EC NOTEXT
           propertyname = 'MenuItems'                        "#EC NOTEXT
       tables
           data         = l_rm_list
       exceptions
           others       = 0.

  call function 'CONTROL_CALL_METHOD'
       exporting
           h_control = l_handle
           method    = 'Display'                             "#EC NOTEXT
           p_count   = 0
           no_flush  = space
       importing
           return    = l_selected_item
       exceptions
           others    = 0.

  clear p_fcode.
  read table l_rm_list into l_wa_rm_list
                       with key pfid = l_selected_item.
  if sy-subrc eq 0.
    p_fcode = l_wa_rm_list-fcode.
  endif.

_________________
Большие обещания уменьшают доверие


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

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


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

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


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

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