sapdev logo background
sapdev logo sapdev logo
Comments

Activate user interaction with ALVtree




Insert the following code into the PBO of the screen after the ALVtree has been created.

i.e after 'CALL METHOD gd_tree->set_table_for_first_display' has been executed.

*&-------------------------------------------------------------*
*&      REGISTER_EVENTS
*&-------------------------------------------------------------*

* define the events which will be passed to the backend
  data: lt_events type cntl_simple_events,
        l_event type cntl_simple_event.

* define the events which will be passed to the backend
  l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
  append l_event to lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_checkbox_change.
  append l_event to lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
  append l_event to lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
  append l_event to lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
  append l_event to lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_item_double_click.
  append l_event to lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_header_click.
  append l_event to lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
  append l_event to lt_events.

  call method gd_tree->set_registered_events
    exporting
      events = lt_events
    exceptions
      cntl_error                = 1
      cntl_system_error         = 2
      illegal_event_combination = 3.
  if sy-subrc <> 0.
    message x208(00) with 'ERROR'.                       "#EC NOTEXT
  endif.



* set Handler
  data: l_event_receiver type ref to lcl_tree_event_receiver.
  create object l_event_receiver.
  set handler l_event_receiver->handle_node_ctmenu_request
                                                        for gd_tree.
  set handler l_event_receiver->handle_node_ctmenu_selected
                                                        for gd_tree.
  set handler l_event_receiver->handle_item_ctmenu_request
                                                        for gd_tree.
  set handler l_event_receiver->handle_item_ctmenu_selected
                                                        for gd_tree.
  set handler l_event_receiver->handle_item_double_click
                                                        for gd_tree.
  set handler l_event_receiver->handle_header_click
                                                        for gd_tree.



comments powered by Disqus