• 创建list ALV tree[RS_TREE_LIST_DISPLAY]


    ABAP程序中的ALV显示是很常用的一种数据展示手段,除了常规的alv,有时也会用到ALV tree这种有层次结构的展示方式更好的展现数据,下面介绍一个创建list alv tree的方法:

    1)用函数RS_TREE_CONSTRUCT构造alv 树的层次结构,

    alv tree的节点类型(node type)分两种:T和P,区别如下:区别就是个文件夹的图标。

    2017-03-13_20-44-24

    2)调用函数RS_TREE_LIST_DISPLAY显示alv tree

    完整代码:

    用list alv tree来显示采购订单和采购订单行项目。

    REPORT ztest_tree_alv.
    
    *Data declaration for additional node information
    DATA : gwa_node TYPE snodetext.
    *Internal table for nodes
    DATA : git_node LIKE TABLE OF gwa_node.
    DATA:git_ekko TYPE STANDARD TABLE OF ekko WITH HEADER LINE,
         git_ekpo TYPE STANDARD TABLE OF ekpo WITH HEADER LINE.
    
    CLEAR :  gwa_node.
    REFRESH: git_node.
    
    SELECT *
      FROM ekko
      INTO TABLE git_ekko
     UP TO 10 ROWS.
    
    SELECT *
      INTO TABLE git_ekpo
      FROM ekpo
       FOR ALL ENTRIES IN git_ekko
     WHERE ebeln = git_ekko-ebeln.
    
    gwa_node-type = 'T'.                   "第一个
    gwa_node-id   = 'FIRST'.
    gwa_node-name = '采购'.
    gwa_node-tlevel = 1.                   "层次一
    gwa_node-nlength = '15'.
    gwa_node-color = '4'.
    gwa_node-text = '采购订单信息'.
    gwa_node-tlength ='20'.
    gwa_node-tcolor = 3.
    APPEND gwa_node TO git_node.
    LOOP AT git_ekko.
      CLEAR gwa_node.
      gwa_node-type = 'P'.
      gwa_node-id   = 'HEAD'.
      gwa_node-name = '采购订单号'.
      gwa_node-tlevel = 2.                  "层次二
      gwa_node-nlength = '8'.
      gwa_node-color = '1'.
      gwa_node-text = git_ekko-ebeln.
      gwa_node-tlength ='20'.
      gwa_node-tcolor = 4.
      APPEND gwa_node TO git_node.
      CLEAR gwa_node.
      LOOP AT git_ekpo where ebeln = git_ekko-ebeln.
        CLEAR gwa_node.
        gwa_node-type = 'P'.
        gwa_node-id   = 'ITEM'.
        gwa_node-name = '行项目'.
        gwa_node-tlevel = 3.                  "层次三
        gwa_node-nlength = '6'.
        gwa_node-color = '1'.
        gwa_node-text = git_ekpo-ebelp.
        gwa_node-tlength ='5'.
        gwa_node-tcolor = 4.
        APPEND gwa_node TO git_node.
        CLEAR gwa_node.
      ENDLOOP.
    ENDLOOP.
    
    *Fm for constructing the tree
    CALL FUNCTION 'RS_TREE_CONSTRUCT'
      TABLES
        nodetab = git_node.
    
    *FM for displaying the tree
    CALL FUNCTION 'RS_TREE_LIST_DISPLAY'
      EXPORTING
        callback_program     = sy-repid
        check_duplicate_name = '1'
        color_of_node        = '4'
        color_of_mark        = '3'
        color_of_link        = '1'
        color_of_match       = '5'
        node_length          = 30
        text_length          = 75
        use_control          = 'L'.

    运行结果:

    2017-03-13_20-29-10

    以上。

  • 相关阅读:
    android学习之layout_gravity和gravity的区别
    android学习之布局(如何动态加入其它xml文件中的控件)
    android学习之屏幕切换动画(translate)
    android学习之ViewPager 初步使用
    android学习之Gallery(画廊)
    android学习之handler
    android 学习之AsyncTask
    通过网络路径,返回输入流工具类
    解析输入流 返回二进制数据 工具类
    android学习之 向网络中发送 XML格式数据
  • 原文地址:https://www.cnblogs.com/datie/p/11435532.html
Copyright © 2020-2023  润新知