sap treeview 应用

本文介绍了一个使用ABAP编程语言初始化树状结构的过程。通过从数据库中读取数据并进行排序,构建了一个包含父节点和子节点关系的树状结构,并实现了双击节点事件的处理。

 *----------------------------------------------------------------------*
***INCLUDE Z_INIT_TREO01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  INIT_TREE  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE INIT_TREE OUTPUT.

  DATA: NODE LIKE MTREESNODE,
            WA_ITAB1 TYPE TY_ITAB,
            WA_ITAB TYPE TY_ITAB.

  DATA: LCL_EVENT TYPE REF TO LCL_EVENT_RECIEVE.

  DATAEVENTS TYPE CNTL_SIMPLE_EVENTS,
          EVENT TYPE CNTL_SIMPLE_EVENT.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB
     FROM ZTHR_ZZY.

  SORT ITAB BY PARENT.
  NODE-NODE_KEY = 'ROOT'.
  NODE-ISFOLDER     = 'X'.
  NODE-TEXT        = 'ALL'.
  APPEND NODE TO NODE_TABLE.

  CLEAR NODE.

  LOOP AT ITAB INTO WA_ITAB.
    READ TABLE ITAB INTO WA_ITAB1 WITH  KEY PARENT = WA_ITAB-ZKEY.
    IF SY-SUBRC EQ 0.
      WA_ITAB-ISFOLDER = 'X'.
    ELSE.
      WA_ITAB-ISFOLDER = ' '.
    ENDIF.
    MODIFY ITAB FROM WA_ITAB.
  ENDLOOP.

  LOOP AT ITAB INTO WA_ITAB.
    NODE-NODE_KEY = WA_ITAB-ZKEY.
    NODE-TEXT = WA_ITAB-TEXT.
*    NODE-ISFOLDER     = ''.
    IF WA_ITAB-ISFOLDER EQ 'X'.
      NODE-ISFOLDER  = 'X'.
    ELSE.
      NODE-RELATSHIP = CL_GUI_SIMPLE_TREE=>RELAT_LAST_CHILD.
    ENDIF.
    IF WA_ITAB-PARENT IS INITIAL.
      NODE-RELATKEY = 'ROOT'.
    ELSE.
      NODE-RELATKEY = WA_ITAB-PARENT.
    ENDIF.
    APPEND NODE TO NODE_TABLE.
    CLEAR NODE.
  ENDLOOP.

  IF MYCONTAINER IS INITIAL.
    CREATE OBJECT MYCONTAINER
      EXPORTING
        CONTAINER_NAME = 'CONTAINER'.

    CREATE OBJECT G_TREE
      EXPORTING
        PARENT              = MYCONTAINER
        NODE_SELECTION_MODE = G_TREE->NODE_SEL_MODE_MULTIPLE.



    CREATE OBJECT LCL_EVENT.

    SET HANDLER LCL_EVENT->NODE_DOUBLE_CLICK FOR G_TREE.

    CLEAR EVENT.
    CLEAR EVENTS.
    REFRESH EVENTS.

    EVENT-EVENTID = CL_GUI_SIMPLE_TREE=>EVENTID_NODE_DOUBLE_CLICK.
    EVENT-APPL_EVENT = ''.

    APPEND EVENT TO EVENTS.

    CALL METHOD G_TREE->SET_REGISTERED_EVENTS
      EXPORTING
        EVENTS = EVENTS.

    CALL METHOD G_TREE->ADD_NODES
      EXPORTING
        NODE_TABLE           = NODE_TABLE
        TABLE_STRUCTURE_NAME = 'NODE_STR'.
    CALL METHOD G_TREE->EXPAND_NODE
      EXPORTING
        NODE_KEY = 'ROOT'.
  ENDIF.

ENDMODULE.                 " INIT_TREE  OUTPUT 

 

 

 

 *&---------------------------------------------------------------------*
*&  包括                ZINC_EVENT_RECIEVE
*&---------------------------------------------------------------------*

CLASS LCL_EVENT_RECIEVE DEFINITION.
  PUBLIC SECTION.
    METHODS:NODE_DOUBLE_CLICK
      FOR EVENT NODE_DOUBLE_CLICK
      OF CL_GUI_SIMPLE_TREE
      IMPORTING NODE_KEY.
ENDCLASS.                    "lcl_event_recieve DEFINITION


*----------------------------------------------------------------------*
*       CLASS lcl_event_recieve IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_EVENT_RECIEVE IMPLEMENTATION.
  METHOD NODE_DOUBLE_CLICK.

    AAA = NODE_KEY.
    SET SCREEN 0.
    LEAVE SCREEN.
  ENDMETHOD.                    "node_double_click
ENDCLASS.                    "lcl_event_recieve IMPLEMENTATION  

源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值