Sap Tree Control

*//1,屏幕中建立container,用以存储cl_gui_custom_container
*//2.建立容器对象cl_gui_custom_container,需要1中屏幕建立的container
*//3.创建树对象cl_gui_simple_tree,需要3中的容器对象
*//4.建立节点结构mtreesnode,并根据节点结构建立节点表,通过树对象方法add_nodes将建立好的节点表放入树对象中
*//5.定义对象树的事件类型放入 cntl_simple_event结构中,再将对应的事件结构放入事件表 cntl_simple_events中。
*//6.调用树对象的方法 set_registered_events,设置树对象的相应事件
*//7.创建事件处理函数,处理节点树的事件,如 node_double_click事件
*//8.注册事件   SET HANDLER
*//树对象常用方法: get_selected_node(获取当前节点), delete_node(删除节点), add_nodes(添加节点), node_set_text(修改节点), expand_node(设置树默认展开)
*//树对象常用事件: FOR EVENT node_double_click OF cl_gui_simple_tree IMPORTING node_key. 双击事件
*//  FOR  EVENT  node_context_menu_request  OF  cl_gui_simple_tree  IMPORTING  node_key menu . 右键事件,通过menu的add_function来添加右键菜单
*//  FOR  EVENT  node_context_menu_select  OF  cl_gui_simple_tree  IMPORTING  node_key fcode .   选择按钮事件,获取右键功能键和当前节点
*//事件注册前需调用 set_ctx_menu_select_event_appl,然后调用 set_registered_events











REPORT   ytest001 .  
DATA :   save_ok   TYPE   sy -   ucomm ,
      ok_code
  TYPE   sy - ucomm   .
DATA :   text01   ( 18 )   TYPE c .

DATA :   wa_container   TYPE   scrfname   VALUE   'C_TEXTEDIT' ,

      wa_custom_container
  TYPE REF TO   cl_gui_custom_container ,
      wa_tree
  TYPE REF TO   cl_gui_simple_tree .

DATA :   node_table   LIKE TABLE OF   mtreesnode   "//TREE内表
      anode_table
  LIKE TABLE OF   mtreesnode ,
node1
  TYPE   mtreesnode .     "//TREE工作区  
DATA :   node2   TYPE   mtreesnode .  

DATA :   wa_spfli   TYPE TABLE OF   spfli .  
DATA :   nodekey   ( 200 )   VALUE   'NODE' ,  
      nodetext
(   200 )   VALUE   'NONE' ,
      nodekeyold
(   200 )   VALUE   'NONE' ,
      renew
(   200 ).
DATA :   getkey   ( 200 ).  

DATA :   menustr   ( 10 )   VALUE   '' .  

CLASS   lcl_application   DEFINITION   DEFERRED .
*----------------------------------------------------------------------*  
*       CLASS LCL_APPLICATION DEFINITION  
*----------------------------------------------------------------------*  
*
*----------------------------------------------------------------------*  
CLASS   lcl_application   DEFINITION   .
 
  PUBLIC SECTION .
   
  METHODS   :   handle_node_double_click
   
  FOR EVENT   node_double_click   OF   cl_gui_simple_tree   IMPORTING   node_key .

   
  METHODS   : handle_node_context_menu_req
   
  FOR EVENT   node_context_menu_request   OF   cl_gui_simple_tree   IMPORTING   node_key menu .

   
  METHODS   :   handle_node_context_menu_sel
   
  FOR EVENT   node_context_menu_select   OF   cl_gui_simple_tree   IMPORTING   node_key fcode .
ENDCLASS .                      "LCL_APPLICATION DEFINITION  
*----------------------------------------------------------------------*  
*       CLASS lcl_application IMPLEMENTATION  
*----------------------------------------------------------------------*  
*
*----------------------------------------------------------------------*  
CLASS   lcl_application   IMPLEMENTATION   .
 
  METHOD   handle_node_double_click .  
   
  MESSAGE   i208 ( 00   )   WITH   'DOUBLE'   .
    nodekey
  =   node_key .
   
  READ TABLE   node_table   WITH KEY   node_key   =   node_key   INTO   node1 .
    nodetext
  =   node1 - text   .
 
  ENDMETHOD .                      "handle_node_double_click  

 
  METHOD   handle_node_context_menu_req .        "//右键事件处理方法  
   
  CALL METHOD   menu -> add_function
     
  EXPORTING  
       
  text    =   '增加本级节点'
        fcode
  =   'CODE1' .

   
  CALL METHOD   menu -> add_function
     
  EXPORTING  
       
  text    =   '增加子节点'
        fcode
  =   'CODE2' .

   
  CALL METHOD   menu -> add_function
     
  EXPORTING  
       
  text    =   '修改当前节点'
        fcode
  =   'CODE3' .

   
  CALL METHOD   menu -> add_function
     
  EXPORTING  
       
  text    =   '删除当前节点'
        fcode
  =   'CODE4' .

 
  ENDMETHOD .                      "handle_node_context_menu_req  

 
  METHOD   handle_node_context_menu_sel .       "//选择事件处理方法  

   
  DATA   :   str1   TYPE   tv_nodekey .
   
  CALL METHOD   wa_tree -> get_selected_node
     
  IMPORTING  
        node_key
  =   str1 .

   
  IF   sy -   subrc   =   0   .
      menustr
  =   fcode .
      nodekey
  =   str1 .
      nodekeyold
  =   str1 .

*      nodetext = menustr.  

     
  READ TABLE   node_table   WITH KEY   node_key   =   str1   INTO   node1 .
      nodetext
  =   node1 - text   .
     
  IF   fcode   =   'CODE4'   .
       
  CALL METHOD   wa_tree -> delete_node
         
  EXPORTING  
            node_key
  =   node1   - node_key .  
       
  DELETE   node_table   WHERE   node_key   =   node_key .  

     
  ENDIF   .

   
  ENDIF   .


 
  ENDMETHOD .                      "handle_node_context_menu_sel  


ENDCLASS .                      "lcl_application IMPLEMENTATION  

DATA :   g_application   TYPE REF TO   lcl_application .  

START-OF-SELECTION .
 
  CREATE   OBJECT g_application .  
 
  CALL SCREEN   0100 .  

*简单树的建立  

*&---------------------------------------------------------------------*  
*&      Module  USER_COMMAND_0100  INPUT  
*&---------------------------------------------------------------------*  
*       text  
*----------------------------------------------------------------------*  
MODULE   user_command_0100   INPUT   .
 
  DATA :   str1   TYPE   tv_nodekey .  
  save_ok
  =   ok_code .  
 
  CLEAR   ok_code .  
 
  CASE   save_ok .  
   
  WHEN   'EXIT' .
     
  LEAVE PROGRAM   .
   
  WHEN   'TEST' .
      text01
  =   'TEST' .
   
  WHEN   'BACK' .
*      CALL SCREEN 0000.  

   
  WHEN   'RENEW' .
*      LEAVE PROGRAM.  
     
  IF   (   menustr   =   'CODE1'   )   OR   (   menustr   =   'CODE2'   ).
       
  READ TABLE   node_table   WITH KEY   node_key   =   nodekey   INTO   node1 .
       
  IF   sy - subrc   =   0 .  
         
  MESSAGE   e208 ( 00   )   WITH   '键值重复'   .
       
  ENDIF   .
     
  ENDIF   .
     
  CASE   menustr .
       
  WHEN   :   'CODE1' .  
         
  READ TABLE   node_table   WITH KEY    node_key   =   nodekeyold   INTO   node2 .
         
  CLEAR   node1 .
          node1
-   node_key   =   nodekey   .
          node1
-   relatkey   =   node2   - relatkey .  
          node1
-   isfolder   =   'X'   .
          node1
-   text   =   nodetext   .
         
  APPEND   node1   TO   node_table   .
         
  CLEAR   anode_table .
         
  APPEND   node1   TO   anode_table   .
         
  CALL METHOD   wa_tree -> add_nodes
           
  EXPORTING
              table_structure_name
  =   'MTREESNODE'  
              node_table          
  =   anode_table .  


       
  WHEN   :   'CODE2' .  
         
  CLEAR   :   node1 .  
          node1
-   node_key   =   nodekey   .
          node1
-   relatkey   =   nodekeyold   .
          node1
-   isfolder   =   'X'   .
          node1
-   text   =   nodetext   .
         
  APPEND   node1   TO   node_table   .
         
  CLEAR   anode_table .
         
  APPEND   node1   TO   anode_table   .
         
  CALL METHOD   wa_tree -> add_nodes
           
  EXPORTING
              table_structure_name
  =   'MTREESNODE'  
              node_table          
  =   anode_table .  
       
  WHEN   :   'CODE3' .  
          node1
-   node_key   =   nodekeyold   .
         
  CALL METHOD   wa_tree -> node_set_text
           
  EXPORTING
              node_key
  =   node1   - node_key
             
  text       =   nodetext .



     
  ENDCASE   .



   
  WHEN   'GETKEY' .
     
  CALL METHOD   wa_tree -> get_selected_node
       
  IMPORTING  
          node_key
  =   str1 .
     
  IF   sy - subrc   =   0 .  
        nodekeyold
  =   str1 .
     
  ENDIF   .




 
  ENDCASE .

ENDMODULE .                   " USER_COMMAND_0100  INPUT  
*&---------------------------------------------------------------------*  
*&      Module  STATUS_0100  OUTPUT  
*&---------------------------------------------------------------------*  
*       text  
*----------------------------------------------------------------------*  
MODULE   status_0100   OUTPUT   .
 
  SET PF-STATUS   '0100' .  

 
  IF   wa_custom_container   IS INITIAL   .
   
  PERFORM   create_tree .
 
  ENDIF .
*  SET TITLEBAR 'xxx'.  

ENDMODULE .                   " STATUS_0100  OUTPUT  
*&---------------------------------------------------------------------*  
*&      Module  EXIT  INPUT  
*&---------------------------------------------------------------------*  
*       text  
*----------------------------------------------------------------------*  
MODULE exit INPUT .
 
  LEAVE PROGRAM .
ENDMODULE .                   " EXIT  INPUT
*&---------------------------------------------------------------------*  
*&      Form  CREATE_TREE  
*&---------------------------------------------------------------------*  
*       text  
*----------------------------------------------------------------------*  
*  -->  p1        text  
*  <--  p2        text  
*----------------------------------------------------------------------*  
FORM   create_tree   .  

 
  DATA :   events TYPE   cntl_simple_events ,
        event1
  TYPE   cntl_simple_event .

 
  CREATE   OBJECT wa_custom_container
   
  EXPORTING  
      container_name
  =   wa_container .

 
  CREATE   OBJECT wa_tree
   
  EXPORTING  
      parent             
  =   wa_custom_container
      node_selection_mode
  =   cl_gui_simple_tree => node_sel_mode_single   .

*    节点的建立  
 
  CLEAR   node1 .  
  node1
- node_key   =   'COUNTRY' .       "//根节点
*  CLEAR node1-relatkey.  
*  CLEAR node1-relatship.  
*  node1-hidden = ''.  
*  node1-disabled = ''.  
  node1
- isfolder   =   'X' .
*  CLEAR node1-n_image.  
*  CLEAR node1-exp_image.  
*  CLEAR node1-expander.  
  node1
- text   =   '中国' .
 
  APPEND   node1   TO   node_table .

 
  CLEAR   node1 .  
  node1
- node_key   =   'CITYBEIJING' .       "//城市节点北京
  node1
- relatkey   =   'COUNTRY' .
  node1
- isfolder   =   'X' .
  node1
- text   =   '北京' .
 
  APPEND   node1   TO   node_table .

 
  CLEAR   node1 .  
  node1
- node_key   =   'CITYSHANGHAI' .       "//城市节点上海
  node1
- relatkey   =   'COUNTRY' .
  node1
- isfolder   =   'X' .
  node1
- text   =   '上海' .
 
  APPEND   node1   TO   node_table .


 
  CLEAR   node1 .  
  node1
- node_key   =   'KEYCHONGWEN' .       "//地区节点 北京--崇文区
  node1
- relatkey   =   'CITYBEIJING' .
*  node1-relatship =   CL_GUI_SIMPLE_TREE=>RELAT_LAST_CHILD.  
  node1
- isfolder   =   '' .
  node1
- text   =   '崇文区' .
 
  CLEAR   node1 -   expander .
 
  APPEND   node1   TO   node_table .


 
  CALL METHOD   wa_tree ->   add_nodes
   
  EXPORTING  
      table_structure_name
  =   'MTREESNODE'
      node_table          
  =   node_table   .

  event1
- eventid   =   cl_gui_simple_tree => eventid_node_double_click   .
  event1
- appl_event   =   'X' .
 
  APPEND   event1   TO events   .



 
  CLEAR   event1 .  
  event1
- eventid   =   cl_gui_simple_tree => eventid_node_context_menu_req   .
  event1
- appl_event   =   '' .
 
  APPEND   event1   TO events   .

 
  CALL METHOD   wa_tree ->   set_ctx_menu_select_event_appl
   
  EXPORTING  
      appl_event
  =   'X' .


*  CLEAR event1.  
*  event1-eventid = cl_gui_simple_tree=>eventid_node_context_menu_req.  
*  event1-appl_event = ''.  
*  APPEND event1 TO events.  

 
  CALL METHOD   wa_tree ->   set_registered_events
   
  EXPORTING  
     
  events   =   events .  

 
  SET HANDLER   g_application ->   handle_node_double_click   FOR   wa_tree   .

 
  SET HANDLER   g_application ->   handle_node_context_menu_req   FOR   wa_tree   .

 
  SET HANDLER   g_application ->   handle_node_context_menu_sel   FOR   wa_tree   .



ENDFORM .                      " CREATE_TREE *

REPORT  ytest001 . 
DATA :  save_ok  TYPE  sy -  ucomm ,
      ok_code
  TYPE  sy - ucomm  .
DATA :  text01  ( 18 )  TYPE c .

DATA :  wa_container  TYPE  scrfname  VALUE  'C_TEXTEDIT' ,

      wa_custom_container
  TYPE REF TO  cl_gui_custom_container ,
      wa_tree
  TYPE REF TO  cl_gui_simple_tree .

DATA :  node_table  LIKE TABLE OF  mtreesnode   "//TREE内表
      anode_table
  LIKE TABLE OF  mtreesnode ,
node1
  TYPE  mtreesnode .    "//TREE工作区 
DATA :  node2  TYPE  mtreesnode . 

DATA :  wa_spfli  TYPE TABLE OF  spfli . 
DATA :  nodekey  ( 200 )  VALUE  'NODE' , 
      nodetext
(  200 )  VALUE  'NONE' ,
      nodekeyold
(  200 )  VALUE  'NONE' ,
      renew
(  200 ).
DATA :  getkey  ( 200 ). 

DATA :  menustr  ( 10 )  VALUE  '' . 

CLASS  lcl_application  DEFINITION  DEFERRED .
*----------------------------------------------------------------------* 
*       CLASS LCL_APPLICATION DEFINITION 
*----------------------------------------------------------------------* 
*
*----------------------------------------------------------------------* 
CLASS  lcl_application  DEFINITION  .
 
  PUBLIC SECTION .
   
  METHODS  :  handle_node_double_click
   
  FOR EVENT  node_double_click  OF  cl_gui_simple_tree  IMPORTING  node_key .

   
  METHODS  : handle_node_context_menu_req
   
  FOR EVENT  node_context_menu_request  OF  cl_gui_simple_tree  IMPORTING  node_key menu .

   
  METHODS  :  handle_node_context_menu_sel
   
  FOR EVENT  node_context_menu_select  OF  cl_gui_simple_tree  IMPORTING  node_key fcode .
ENDCLASS .                     "LCL_APPLICATION DEFINITION 
*----------------------------------------------------------------------* 
*       CLASS lcl_application IMPLEMENTATION 
*----------------------------------------------------------------------* 
*
*----------------------------------------------------------------------* 
CLASS  lcl_application  IMPLEMENTATION  .
 
  METHOD  handle_node_double_click . 
   
  MESSAGE  i208 ( 00  )  WITH  'DOUBLE'  .
    nodekey
  =  node_key .
   
  READ TABLE  node_table  WITH KEY  node_key  =  node_key  INTO  node1 .
    nodetext
  =  node1 - text  .
 
  ENDMETHOD .                     "handle_node_double_click 

 
  METHOD  handle_node_context_menu_req .       "//右键事件处理方法 
   
  CALL METHOD  menu -> add_function
     
  EXPORTING 
       
  text   =  '增加本级节点'
        fcode
  =  'CODE1' .

   
  CALL METHOD  menu -> add_function
     
  EXPORTING 
       
  text   =  '增加子节点'
        fcode
  =  'CODE2' .

   
  CALL METHOD  menu -> add_function
     
  EXPORTING 
       
  text   =  '修改当前节点'
        fcode
  =  'CODE3' .

   
  CALL METHOD  menu -> add_function
     
  EXPORTING 
       
  text   =  '删除当前节点'
        fcode
  =  'CODE4' .

 
  ENDMETHOD .                     "handle_node_context_menu_req 

 
  METHOD  handle_node_context_menu_sel .      "//选择事件处理方法 

   
  DATA  :  str1  TYPE  tv_nodekey .
   
  CALL METHOD  wa_tree -> get_selected_node
     
  IMPORTING 
        node_key
  =  str1 .

   
  IF  sy -  subrc  =  0  .
      menustr
  =  fcode .
      nodekey
  =  str1 .
      nodekeyold
  =  str1 .

*      nodetext = menustr. 

     
  READ TABLE  node_table  WITH KEY  node_key  =  str1  INTO  node1 .
      nodetext
  =  node1 - text  .
     
  IF  fcode  =  'CODE4'  .
       
  CALL METHOD  wa_tree -> delete_node
         
  EXPORTING 
            node_key
  =  node1  - node_key . 
       
  DELETE  node_table  WHERE  node_key  =  node_key . 

     
  ENDIF  .

   
  ENDIF  .


 
  ENDMETHOD .                     "handle_node_context_menu_sel 


ENDCLASS .                     "lcl_application IMPLEMENTATION 

DATA :  g_application  TYPE REF TO  lcl_application . 

START-OF-SELECTION .
 
  CREATE  OBJECT g_application . 
 
  CALL SCREEN  0100 . 

*简单树的建立 

*&---------------------------------------------------------------------* 
*&      Module  USER_COMMAND_0100  INPUT 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
MODULE  user_command_0100  INPUT  .
 
  DATA :  str1  TYPE  tv_nodekey . 
  save_ok
  =  ok_code . 
 
  CLEAR  ok_code . 
 
  CASE  save_ok . 
   
  WHEN  'EXIT' .
     
  LEAVE PROGRAM  .
   
  WHEN  'TEST' .
      text01
  =  'TEST' .
   
  WHEN  'BACK' .
*      CALL SCREEN 0000. 

   
  WHEN  'RENEW' .
*      LEAVE PROGRAM. 
     
  IF  (  menustr  =  'CODE1'  )  OR  (  menustr  =  'CODE2'  ).
       
  READ TABLE  node_table  WITH KEY  node_key  =  nodekey  INTO  node1 .
       
  IF  sy - subrc  =  0 . 
         
  MESSAGE  e208 ( 00  )  WITH  '键值重复'  .
       
  ENDIF  .
     
  ENDIF  .
     
  CASE  menustr .
       
  WHEN  :  'CODE1' . 
         
  READ TABLE  node_table  WITH KEY   node_key  =  nodekeyold  INTO  node2 .
         
  CLEAR  node1 .
          node1
-  node_key  =  nodekey  .
          node1
-  relatkey  =  node2  - relatkey . 
          node1
-  isfolder  =  'X'  .
          node1
-  text  =  nodetext  .
         
  APPEND  node1  TO  node_table  .
         
  CLEAR  anode_table .
         
  APPEND  node1  TO  anode_table  .
         
  CALL METHOD  wa_tree -> add_nodes
           
  EXPORTING
              table_structure_name
  =  'MTREESNODE' 
              node_table          
  =  anode_table . 


       
  WHEN  :  'CODE2' . 
         
  CLEAR  :  node1 . 
          node1
-  node_key  =  nodekey  .
          node1
-  relatkey  =  nodekeyold  .
          node1
-  isfolder  =  'X'  .
          node1
-  text  =  nodetext  .
         
  APPEND  node1  TO  node_table  .
         
  CLEAR  anode_table .
         
  APPEND  node1  TO  anode_table  .
         
  CALL METHOD  wa_tree -> add_nodes
           
  EXPORTING
              table_structure_name
  =  'MTREESNODE' 
              node_table          
  =  anode_table . 
       
  WHEN  :  'CODE3' . 
          node1
-  node_key  =  nodekeyold  .
         
  CALL METHOD  wa_tree -> node_set_text
           
  EXPORTING
              node_key
  =  node1  - node_key
             
  text      =  nodetext .



     
  ENDCASE  .



   
  WHEN  'GETKEY' .
     
  CALL METHOD  wa_tree -> get_selected_node
       
  IMPORTING 
          node_key
  =  str1 .
     
  IF  sy - subrc  =  0 . 
        nodekeyold
  =  str1 .
     
  ENDIF  .




 
  ENDCASE .

ENDMODULE .                  " USER_COMMAND_0100  INPUT 
*&---------------------------------------------------------------------* 
*&      Module  STATUS_0100  OUTPUT 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
MODULE  status_0100  OUTPUT  .
 
  SET PF-STATUS  '0100' . 

 
  IF  wa_custom_container  IS INITIAL  .
   
  PERFORM  create_tree .
 
  ENDIF .
*  SET TITLEBAR 'xxx'. 

ENDMODULE .                  " STATUS_0100  OUTPUT 
*&---------------------------------------------------------------------* 
*&      Module  EXIT  INPUT 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
MODULE exit INPUT .
 
  LEAVE PROGRAM .
ENDMODULE .                  " EXIT  INPUT
*&---------------------------------------------------------------------* 
*&      Form  CREATE_TREE 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM  create_tree  . 

 
  DATA :  events TYPE  cntl_simple_events ,
        event1
  TYPE  cntl_simple_event .

 
  CREATE  OBJECT wa_custom_container
   
  EXPORTING 
      container_name
  =  wa_container .

 
  CREATE  OBJECT wa_tree
   
  EXPORTING 
      parent             
  =  wa_custom_container
      node_selection_mode
  =  cl_gui_simple_tree => node_sel_mode_single  .

*    节点的建立 
 
  CLEAR  node1 . 
  node1
- node_key  =  'COUNTRY' .      "//根节点
*  CLEAR node1-relatkey. 
*  CLEAR node1-relatship. 
*  node1-hidden = ''. 
*  node1-disabled = ''. 
  node1
- isfolder  =  'X' .
*  CLEAR node1-n_image. 
*  CLEAR node1-exp_image. 
*  CLEAR node1-expander. 
  node1
- text  =  '中国' .
 
  APPEND  node1  TO  node_table .

 
  CLEAR  node1 . 
  node1
- node_key  =  'CITYBEIJING' .      "//城市节点北京
  node1
- relatkey  =  'COUNTRY' .
  node1
- isfolder  =  'X' .
  node1
- text  =  '北京' .
 
  APPEND  node1  TO  node_table .

 
  CLEAR  node1 . 
  node1
- node_key  =  'CITYSHANGHAI' .      "//城市节点上海
  node1
- relatkey  =  'COUNTRY' .
  node1
- isfolder  =  'X' .
  node1
- text  =  '上海' .
 
  APPEND  node1  TO  node_table .


 
  CLEAR  node1 . 
  node1
- node_key  =  'KEYCHONGWEN' .      "//地区节点 北京--崇文区
  node1
- relatkey  =  'CITYBEIJING' .
*  node1-relatship =   CL_GUI_SIMPLE_TREE=>RELAT_LAST_CHILD. 
  node1
- isfolder  =  '' .
  node1
- text  =  '崇文区' .
 
  CLEAR  node1 -  expander .
 
  APPEND  node1  TO  node_table .


 
  CALL METHOD  wa_tree ->  add_nodes
   
  EXPORTING 
      table_structure_name
  =  'MTREESNODE'
      node_table          
  =  node_table  .

  event1
- eventid  =  cl_gui_simple_tree => eventid_node_double_click  .
  event1
- appl_event  =  'X' .
 
  APPEND  event1  TO events  .



 
  CLEAR  event1 . 
  event1
- eventid  =  cl_gui_simple_tree => eventid_node_context_menu_req  .
  event1
- appl_event  =  '' .
 
  APPEND  event1  TO events  .

 
  CALL METHOD  wa_tree ->  set_ctx_menu_select_event_appl
   
  EXPORTING 
      appl_event
  =  'X' .


*  CLEAR event1. 
*  event1-eventid = cl_gui_simple_tree=>eventid_node_context_menu_req. 
*  event1-appl_event = ''. 
*  APPEND event1 TO events. 

 
  CALL METHOD  wa_tree ->  set_registered_events
   
  EXPORTING 
     
  events  =  events . 

 
  SET HANDLER  g_application ->  handle_node_double_click  FOR  wa_tree  .

 
  SET HANDLER  g_application ->  handle_node_context_menu_req  FOR  wa_tree  .

 
  SET HANDLER  g_application ->  handle_node_context_menu_sel  FOR  wa_tree  .



ENDFORM .                     " CREATE_TREE

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值