见红色部分,添加该参数后,ALVtree的注册事件将在屏幕PAI完毕之后触发。
data: node_table type treev_ntab,
item_table type item_table_type,
events type cntl_simple_events,
event type cntl_simple_event.
* create a container for the tree control
create object g_custom_container
exporting " the container is linked to the custom control with the
" name 'TREE_CONTAINER' on the dynpro
container_name = 'TREE_CONTAINER'
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
if sy-subrc <> 0.
message a000.
endif.
* create a list tree
create object g_tree
exporting
parent = g_custom_container
node_selection_mode = cl_gui_list_tree=>node_sel_mode_single
item_selection = 'X'
with_headers = ' '
exceptions
cntl_system_error = 1
create_error = 2
failed = 3
illegal_node_selection_mode = 4
lifetime_error = 5.
if sy-subrc <> 0.
message a000.
endif.
* define the events which will be passed to the backend
" node double click
event-eventid = cl_gui_list_tree=>eventid_node_double_click.
event-appl_event = 'X'. "
append event to events.
" item double click
event-eventid = cl_gui_list_tree=>eventid_item_double_click.
event-appl_event = 'X'.
append event to events.
" expand no children
event-eventid = cl_gui_list_tree=>eventid_expand_no_children.
event-appl_event = 'X'.
append event to events.
" link click
event-eventid = cl_gui_list_tree=>eventid_link_click.
event-appl_event = 'X'.
append event to events.
" button click
event-eventid = cl_gui_list_tree=>eventid_button_click.
event-appl_event = 'X'.
append event to events.
" checkbox change
event-eventid = cl_gui_list_tree=>eventid_checkbox_change.
event-appl_event = 'X'.
append event to events.
call method g_tree->set_registered_events
exporting
events = events
exceptions
cntl_error = 1
cntl_system_error = 2
illegal_event_combination = 3.
if sy-subrc <> 0.
message a000.
endif.
* assign event handlers in the application class to each desired event
set handler g_application->handle_node_double_click for g_tree.
set handler g_application->handle_item_double_click for g_tree.
set handler g_application->handle_expand_no_children for g_tree.
set handler g_application->handle_link_click for g_tree.
set handler g_application->handle_button_click for g_tree.
set handler g_application->handle_checkbox_change for g_tree.