• SAP Column tree


    code as bellow

    *&---------------------------------------------------------------------*
    *& Include COLUMN_TREE_CONTROL_DEMOTOP                                 *
    *&                                                                     *
    *&---------------------------------------------------------------------*
    
    REPORT SAPCOLUMN_TREE_CONTROL_DEMO MESSAGE-ID TREE_CONTROL_MSG.
    
      CLASS LCL_APPLICATION DEFINITION DEFERRED.
      CLASS CL_GUI_CFW DEFINITION LOAD.
    
    * CAUTION: MTREEITM is the name of the item structure which must
    * be defined by the programmer. DO NOT USE MTREEITM!
      TYPES: ITEM_TABLE_TYPE LIKE STANDARD TABLE OF MTREEITM
             WITH DEFAULT KEY.
    
      DATA: G_APPLICATION TYPE REF TO LCL_APPLICATION,
            G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
            G_TREE TYPE REF TO CL_GUI_COLUMN_TREE,
            G_OK_CODE TYPE SY-UCOMM.
    
    * Fields on Dynpro 100
      DATA: G_EVENT(30),
            G_NODE_KEY TYPE TV_NODEKEY,
            G_ITEM_NAME TYPE TV_ITMNAME,
            G_HEADER_NAME TYPE TV_HDRNAME.
    
    CONSTANTS:
      BEGIN OF c_nodekey,
        root   type tv_nodekey value 'Root',                    "#EC NOTEXT
        child1 TYPE tv_nodekey VALUE 'Child1',                  "#EC NOTEXT
    *    child2 type tv_nodekey value 'Child2',                  "#EC NOTEXT
        new1   TYPE tv_nodekey VALUE 'New1',                    "#EC NOTEXT
        new2   TYPE tv_nodekey VALUE 'New2',                    "#EC NOTEXT
    *    new3   type tv_nodekey value 'New3',                    "#EC NOTEXT
    *    new4   type tv_nodekey value 'New4',                    "#EC NOTEXT
      END OF c_nodekey,
      BEGIN OF c_column,
        column1 TYPE tv_itmname VALUE 'Column1',                "#EC NOTEXT
        column2 TYPE tv_itmname VALUE 'Column2',                "#EC NOTEXT
        column3 TYPE tv_itmname VALUE 'Column3',                "#EC NOTEXT
      END OF c_column.
    
    *** INCLUDE COLUMN_TREE_CONTROL_DEMOTOP
    *----------------------------------------------------------------------*
    *   INCLUDE COLUMN_TREE_CONTROL_DEMOCL1                                *
    *----------------------------------------------------------------------*
    
    CLASS LCL_APPLICATION DEFINITION.
    
      PUBLIC SECTION.
        METHODS:
          HANDLE_NODE_DOUBLE_CLICK
            FOR EVENT NODE_DOUBLE_CLICK
            OF CL_GUI_COLUMN_TREE
            IMPORTING NODE_KEY,
          HANDLE_HEADER_CLICK
            FOR EVENT HEADER_CLICK
            OF CL_GUI_COLUMN_TREE
            IMPORTING HEADER_NAME,
          HANDLE_EXPAND_NO_CHILDREN
            FOR EVENT EXPAND_NO_CHILDREN
            OF CL_GUI_COLUMN_TREE
            IMPORTING NODE_KEY,
          HANDLE_ITEM_DOUBLE_CLICK
            FOR EVENT ITEM_DOUBLE_CLICK
            OF CL_GUI_COLUMN_TREE
            IMPORTING NODE_KEY ITEM_NAME,
          HANDLE_BUTTON_CLICK
            FOR EVENT BUTTON_CLICK
            OF CL_GUI_COLUMN_TREE
            IMPORTING NODE_KEY ITEM_NAME,
          HANDLE_LINK_CLICK
            FOR EVENT LINK_CLICK
            OF CL_GUI_COLUMN_TREE
            IMPORTING NODE_KEY ITEM_NAME,
          HANDLE_CHECKBOX_CHANGE
            FOR EVENT CHECKBOX_CHANGE
            OF CL_GUI_COLUMN_TREE
            IMPORTING NODE_KEY ITEM_NAME CHECKED.
    ENDCLASS.                    "LCL_APPLICATION DEFINITION
    
    *----------------------------------------------------------------------*
    *       CLASS LCL_APPLICATION IMPLEMENTATION
    *----------------------------------------------------------------------*
    *
    *----------------------------------------------------------------------*
    CLASS LCL_APPLICATION IMPLEMENTATION.
    
      METHOD HANDLE_NODE_DOUBLE_CLICK.
        " this method handles the node double click event of the tree
        " control instance
    
        " show the key of the double clicked node in a dynpro field
        G_EVENT = 'NODE_DOUBLE_CLICK'.
        G_NODE_KEY = NODE_KEY.
        CLEAR: G_ITEM_NAME, G_HEADER_NAME.
      ENDMETHOD.                    "HANDLE_NODE_DOUBLE_CLICK
    
      METHOD HANDLE_HEADER_CLICK.
        " this method handles header click event of the tree
                                           " control instance
    
        " show the name of the clicked header in a dynpro field
        G_EVENT = 'HEADER_CLICK'.
        G_HEADER_NAME = HEADER_NAME.
        CLEAR: G_NODE_KEY, G_ITEM_NAME.
      ENDMETHOD.                    "HANDLE_HEADER_CLICK
    
      METHOD  HANDLE_ITEM_DOUBLE_CLICK.
        " this method handles the item double click event of the tree
        " control instance
    
        " show the key of the node and the name of the item
        " of the double clicked item in a dynpro field
        G_EVENT = 'ITEM_DOUBLE_CLICK'.
        G_NODE_KEY = NODE_KEY.
        G_ITEM_NAME = ITEM_NAME.
        CLEAR G_HEADER_NAME.
      ENDMETHOD.                    "HANDLE_ITEM_DOUBLE_CLICK
    
      METHOD  HANDLE_LINK_CLICK.
        " this method handles the link click event of the tree
        " control instance
    
        " show the key of the node and the name of the item
        " of the clicked link in a dynpro field
        G_EVENT = 'LINK_CLICK'.
        G_NODE_KEY = NODE_KEY.
        G_ITEM_NAME = ITEM_NAME.
        CLEAR G_HEADER_NAME.
      ENDMETHOD.                    "HANDLE_LINK_CLICK
    
      METHOD  HANDLE_BUTTON_CLICK.
        " this method handles the button click event of the tree
        " control instance
    
        " show the key of the node and the name of the item
        " of the clicked button in a dynpro field
        G_EVENT = 'BUTTON_CLICK'.
        G_NODE_KEY = NODE_KEY.
        G_ITEM_NAME = ITEM_NAME.
        CLEAR G_HEADER_NAME.
      ENDMETHOD.                    "HANDLE_BUTTON_CLICK
    
      METHOD  HANDLE_CHECKBOX_CHANGE.
        " this method handles the checkbox_change event of the tree
        " control instance
    
        " show the key of the node and the name of the item
        " of the clicked checkbox in a dynpro field
        G_EVENT = 'CHECKBOX_CHANGE'.
        G_NODE_KEY = NODE_KEY.
        G_ITEM_NAME = ITEM_NAME.
        CLEAR  G_HEADER_NAME.
      ENDMETHOD.                    "HANDLE_CHECKBOX_CHANGE
    
    
      METHOD HANDLE_EXPAND_NO_CHILDREN.
        DATA: NODE_TABLE TYPE TREEV_NTAB,
              NODE TYPE TREEV_NODE,
              ITEM_TABLE TYPE ITEM_TABLE_TYPE,
              ITEM TYPE MTREEITM.
    
    * show the key of the expanded node in a dynpro field
        G_EVENT = 'EXPAND_NO_CHILDREN'.
        G_NODE_KEY = NODE_KEY.
        CLEAR: G_ITEM_NAME, G_HEADER_NAME.
    
        IF node_key = c_nodekey-child1.
    * add two nodes
    
    * Node with key 'New1'
          CLEAR NODE.
          node-node_key = c_nodekey-New1.
          node-relatkey = c_nodekey-child1.
          NODE-RELATSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD.
          APPEND NODE TO NODE_TABLE.
    
    * Node with key 'New2'
          CLEAR NODE.
          node-node_key = c_nodekey-New2.
          node-relatkey = c_nodekey-child1.
          NODE-RELATSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD.
          NODE-N_IMAGE = '@10@'.
          APPEND NODE TO NODE_TABLE.
    
    * Items of node with key 'New1'
          CLEAR ITEM.
          item-node_key = c_nodekey-New1.
          item-item_name = c_column-Column1.
          item-class = cl_gui_column_tree=>item_class_text.
          item-text = 'New1 Col. 1'(n11).
          APPEND ITEM TO ITEM_TABLE.
    
          CLEAR ITEM.
          item-node_key = c_nodekey-New1.
          item-item_name = c_column-Column2.
          ITEM-CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_LINK.
          item-t_image = '@3C@'.
          APPEND ITEM TO ITEM_TABLE.
    
          CLEAR ITEM.
          item-node_key = c_nodekey-New1.
          item-item_name = c_column-Column3.
          item-class = cl_gui_column_tree=>item_class_text.
          item-text = 'New1 Col. 3'(n13).
          APPEND ITEM TO ITEM_TABLE.
    
    * Items of node with key 'New2'
          CLEAR ITEM.
          item-node_key = c_nodekey-New2.
          item-item_name = c_column-Column1.
          item-class = cl_gui_column_tree=>item_class_text.
          item-text = 'New2 Col. 1'(n21).
          APPEND ITEM TO ITEM_TABLE.
    
          CLEAR ITEM.
          item-node_key = c_nodekey-New2.
          item-item_name = c_column-Column2.
          item-class = cl_gui_column_tree=>item_class_text.
          item-text = 'New2 Col. 2'(n22).
          APPEND ITEM TO ITEM_TABLE.
    
          CLEAR ITEM.
          item-node_key = c_nodekey-New2.
          item-item_name = c_column-Column3.
          item-class = cl_gui_column_tree=>item_class_text.
          item-text = 'New2 Col. 3'(n23).
          APPEND ITEM TO ITEM_TABLE.
    
    
          CALL METHOD G_TREE->ADD_NODES_AND_ITEMS
            EXPORTING
              NODE_TABLE = NODE_TABLE
              ITEM_TABLE = ITEM_TABLE
              ITEM_TABLE_STRUCTURE_NAME = 'MTREEITM'
            EXCEPTIONS
              FAILED = 1
              CNTL_SYSTEM_ERROR = 3
              ERROR_IN_TABLES = 4
              DP_ERROR = 5
              TABLE_STRUCTURE_NAME_NOT_FOUND = 6.
          IF SY-SUBRC <> 0.
            MESSAGE A000.
          ENDIF.
        endif.
      ENDMETHOD.                    "HANDLE_EXPAND_NO_CHILDREN
    
    ENDCLASS.                    "LCL_APPLICATION IMPLEMENTATION
    *-------------------------------------------------------------------
    ***INCLUDE column_tree_control_demoO01 .
    *-------------------------------------------------------------------
    *&---------------------------------------------------------------------*
    *&      Module  PBO_0400  OUTPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE PBO_100 OUTPUT.
      SET PF-STATUS 'MAIN'.
      IF G_TREE IS INITIAL.
        " The Tree Control has not been created yet.
        " Create a Tree Control and insert nodes into it.
        PERFORM CREATE_AND_INIT_TREE.
      ENDIF.
    ENDMODULE.                 " PBO_0100  OUTPUT
    *** INCLUDE column_tree_control_demoO01
    *-------------------------------------------------------------------
    ***INCLUDE column_tree_control_demoI01 .
    *-------------------------------------------------------------------
    *&---------------------------------------------------------------------*
    *&      Module  PAI_0400  INPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE PAI_100 INPUT.
      data: return_code type i.
    * CL_GUI_CFW=>DISPATCH must be called if events are registered
    * that trigger PAI
    * this method calls the event handler method of an event
      CALL METHOD CL_GUI_CFW=>DISPATCH
        importing return_code = return_code.
      if return_code <> cl_gui_cfw=>rc_noevent.
        " a control event occured => exit PAI
        clear g_ok_code.
        exit.
      endif.
    
      CASE G_OK_CODE.
        WHEN 'BACK'. " Finish program
          IF NOT G_CUSTOM_CONTAINER IS INITIAL.
            " destroy tree container (detroys contained tree control, too)
            CALL METHOD G_CUSTOM_CONTAINER->FREE
              EXCEPTIONS
                CNTL_SYSTEM_ERROR = 1
                CNTL_ERROR        = 2.
            IF SY-SUBRC <> 0.
              MESSAGE A000.
            ENDIF.
            CLEAR G_CUSTOM_CONTAINER.
            CLEAR G_TREE.
          ENDIF.
          LEAVE PROGRAM.
      ENDCASE.
    
    * CAUTION: clear ok code!
      CLEAR G_OK_CODE.
    ENDMODULE.                 " PAI_0100  INPUT
    *** INCLUDE column_tree_control_demoI01
    *-------------------------------------------------------------------
    ***INCLUDE column_tree_control_demoF01 .
    *-------------------------------------------------------------------
    
    *&---------------------------------------------------------------------*
    *&      Form  CREATE_AND_INIT_TREE
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    FORM CREATE_AND_INIT_TREE.
      DATA: NODE_TABLE TYPE TREEV_NTAB,
            ITEM_TABLE TYPE ITEM_TABLE_TYPE,
            event type cntl_simple_event,
            EVENTS TYPE CNTL_SIMPLE_EVENTS,
            HIERARCHY_HEADER TYPE TREEV_HHDR.
    
    * 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.
    * setup the hierarchy header
      hierarchy_header-heading = 'Hierarchy Header'(roo).
                                            " heading
       HIERARCHY_HEADER-WIDTH = 30.         "  30 characters
    
    * create a tree control
    
    * After construction, the control contains one column in the
    * hierarchy area. The name of this column
    * is defined via the constructor parameter HIERACHY_COLUMN_NAME.
      CREATE OBJECT G_TREE
        EXPORTING
          PARENT              = G_CUSTOM_CONTAINER
          NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE
          ITEM_SELECTION = 'X'
          hierarchy_column_name = c_column-Column1
          HIERARCHY_HEADER = HIERARCHY_HEADER
        EXCEPTIONS
          CNTL_SYSTEM_ERROR           = 1
          CREATE_ERROR                = 2
          FAILED                      = 3
          ILLEGAL_NODE_SELECTION_MODE = 4
          ILLEGAL_COLUMN_NAME         = 5
          LIFETIME_ERROR              = 6.
      IF SY-SUBRC <> 0.
        MESSAGE A000.
      ENDIF.
    
    * define the events which will be passed to the backend
      " node double click
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_NODE_DOUBLE_CLICK.
      event-appl_event = 'X'. " process PAI if event occurs
      append event to events.
    
      " item double click
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_ITEM_DOUBLE_CLICK.
      event-appl_event = 'X'.
      append event to events.
    
      " expand no children
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_EXPAND_NO_CHILDREN.
      event-appl_event = 'X'.
      append event to events.
    
      " link click
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_LINK_CLICK.
      event-appl_event = 'X'.
      append event to events.
    
      " button click
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_button_click.
      event-appl_event = 'X'.
      append event to events.
    
      " checkbox change
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_checkbox_change.
      event-appl_event = 'X'.
      append event to events.
    
      " header click
      event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_header_click.
      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.
      SET HANDLER G_APPLICATION->HANDLE_HEADER_CLICK FOR G_TREE.
    
    * insert two additional columns
    
    * Column2
      CALL METHOD G_TREE->ADD_COLUMN
        EXPORTING
          name                         = c_column-Column2
          width                        = 21
          header_text                  = 'Column2'(co2)
        EXCEPTIONS
          COLUMN_EXISTS                 = 1
          ILLEGAL_COLUMN_NAME           = 2
          TOO_MANY_COLUMNS              = 3
          ILLEGAL_ALIGNMENT             = 4
          DIFFERENT_COLUMN_TYPES        = 5
          CNTL_SYSTEM_ERROR             = 6
          FAILED                        = 7
          PREDECESSOR_COLUMN_NOT_FOUND  = 8.
      IF SY-SUBRC <> 0.
        MESSAGE A000.
      ENDIF.
    * Column3
      CALL METHOD G_TREE->ADD_COLUMN
        EXPORTING
          name                         = c_column-Column3
          width                        = 21
          alignment                    = cl_gui_column_tree=>align_right
          header_text                  = 'Column3'(co3)
        EXCEPTIONS
          COLUMN_EXISTS                 = 1
          ILLEGAL_COLUMN_NAME           = 2
          TOO_MANY_COLUMNS              = 3
          ILLEGAL_ALIGNMENT             = 4
          DIFFERENT_COLUMN_TYPES        = 5
          CNTL_SYSTEM_ERROR             = 6
          FAILED                        = 7
          PREDECESSOR_COLUMN_NOT_FOUND  = 8.
      IF SY-SUBRC <> 0.
        MESSAGE A000.
      ENDIF.
    
    * add some nodes to the tree control
    * NOTE: the tree control does not store data at the backend. If an
    * application wants to access tree data later, it must store the
    * tree data itself.
    
      PERFORM BUILD_NODE_AND_ITEM_TABLE USING NODE_TABLE ITEM_TABLE.
    
      CALL METHOD G_TREE->ADD_NODES_AND_ITEMS
        EXPORTING
          NODE_TABLE = NODE_TABLE
          ITEM_TABLE = ITEM_TABLE
          ITEM_TABLE_STRUCTURE_NAME = 'MTREEITM'
        EXCEPTIONS
          FAILED = 1
          CNTL_SYSTEM_ERROR = 3
          ERROR_IN_TABLES = 4
          DP_ERROR = 5
          TABLE_STRUCTURE_NAME_NOT_FOUND = 6.
      IF SY-SUBRC <> 0.
        MESSAGE A000.
      ENDIF.
    
    * expand the node with key 'Root'
      CALL METHOD G_TREE->EXPAND_NODE
        EXPORTING
          node_key            = c_nodekey-Root
        EXCEPTIONS
          FAILED              = 1
          ILLEGAL_LEVEL_COUNT = 2
          CNTL_SYSTEM_ERROR   = 3
          NODE_NOT_FOUND      = 4
          CANNOT_EXPAND_LEAF  = 5.
      IF SY-SUBRC <> 0.
        MESSAGE A000.
      ENDIF.
    
    
    ENDFORM.                    " CREATE_AND_INIT_TREE
    
    *&---------------------------------------------------------------------*
    *&      Form  build_node_and_item_table
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    
    FORM BUILD_NODE_AND_ITEM_TABLE
      USING
        NODE_TABLE TYPE TREEV_NTAB
        ITEM_TABLE TYPE ITEM_TABLE_TYPE.
    
      DATA: NODE TYPE TREEV_NODE,
            ITEM TYPE MTREEITM.
    
    * Build the node table.
    
    * Caution: The nodes are inserted into the tree according to the order
    * in which they occur in the table. In consequence, a node must not
    * must not occur in the node table before its parent node.
    
    * Node with key 'Root'
      node-node_key = c_nodekey-Root.
                                " Key of the node
      CLEAR NODE-RELATKEY.      " Special case: A root node has no parent
      CLEAR NODE-RELATSHIP.     " node.
    
      NODE-HIDDEN = ' '.        " The node is visible,
      NODE-DISABLED = ' '.      " selectable,
      NODE-ISFOLDER = 'X'.      " a folder.
      CLEAR NODE-N_IMAGE.       " Folder-/ Leaf-Symbol in state "closed":
                                " use default.
      CLEAR NODE-EXP_IMAGE.     " Folder-/ Leaf-Symbol in state "open":
                                " use default
      CLEAR NODE-EXPANDER.      " see below.
      APPEND NODE TO NODE_TABLE.
    
    * Node with key 'Child1'
      node-node_key = c_nodekey-child1.
      " Key of the node
      " Node is inserted as child of the node with key 'Root'.
      node-relatkey = c_nodekey-Root.
      NODE-RELATSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD.
    
      NODE-HIDDEN = ' '.
      NODE-DISABLED = ' '.
      NODE-ISFOLDER = 'X'.
      CLEAR NODE-N_IMAGE.
      CLEAR NODE-EXP_IMAGE.
      NODE-EXPANDER = 'X'. " The node is marked with a '+', although
                           " it has no children. When the user clicks on the
                           " + to open the node, the event expand_nc is
                           " fired. The programmerr can
                           " add the children of the
                           " node within the event handler of the expand_nc
                           " event  (see callback handle_expand_nc).
      APPEND NODE TO NODE_TABLE.
    
    * The items of the nodes:
    
    * Node with key 'Root'
      CLEAR ITEM.
      item-node_key = c_nodekey-Root.
      item-item_name = c_column-Column1.     " Item of Column 'Column1'
      item-class = cl_gui_column_tree=>item_class_text. " Text Item
      item-text = 'Root Col. 1'(ro1).
      APPEND ITEM TO ITEM_TABLE.
    
      CLEAR ITEM.
      item-node_key = c_nodekey-Root.
      item-item_name = c_column-Column2.     " Item of Column 'Column2'
      item-class = cl_gui_column_tree=>item_class_text.
      item-text = 'Root Col. 2'(ro2).
      APPEND ITEM TO ITEM_TABLE.
    
      CLEAR ITEM.
      item-node_key = c_nodekey-Root.
      item-item_name = c_column-Column3.     " Item of Column 'Column3'
      " Item is a link (click on link fires event LINK_CLICK)
      item-class = cl_gui_column_tree=>item_class_link.
      item-text = 'Root Col. 3'(ro3).
      APPEND ITEM TO ITEM_TABLE.
    
    * Node with key 'Child1'
      CLEAR ITEM.
      item-node_key = c_nodekey-Child1.
      item-item_name = c_column-Column1.
      item-class = cl_gui_column_tree=>item_class_text.
      item-text = 'Child1 Col. 1'(c11).
      APPEND ITEM TO ITEM_TABLE.
    
      CLEAR ITEM.
      item-node_key = c_nodekey-Child1.
      item-item_name = c_column-Column2.     "
      item-class = cl_gui_column_tree=>item_class_button. " Item is a button
      item-text = 'Child1 Col. 2'(c12).
      ITEM-T_IMAGE = '@0B@'.
      APPEND ITEM TO ITEM_TABLE.
    
      CLEAR ITEM.
      item-node_key = c_nodekey-Child1.
      item-item_name = c_column-Column3.
      " Item is a checkbox
      ITEM-CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_CHECKBOX.
      ITEM-EDITABLE = 'X'.
      item-text = 'Child1 Col. 3'(c13).
      ITEM-T_IMAGE = '@0C@'.
      APPEND ITEM TO ITEM_TABLE.
    
    ENDFORM.                    " build_node_and_item_table
    
    
    
    *** INCLUDE column_tree_control_demoF01
      START-OF-SELECTION.
    * create the application object
    * this object is needed to handle the ABAP Objects Events of
    * Controls
      CREATE OBJECT G_APPLICATION.
    
      SET SCREEN 100.
  • 相关阅读:
    error和exception有什么区别?
    金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出?
    HTTP请求的GET与POST方式的区别
    解释一下什么是servlet?
    参数Parameters、变量Variables
    数据库事务的四大隔离级别以及处理的问题
    redis安装
    CVB生命周期(APIView源码解析)
    前端页面渲染机制
    Django基础之request
  • 原文地址:https://www.cnblogs.com/JackeyLove/p/13649731.html
Copyright © 2020-2023  润新知