这玩意不知道什么时候用^_^

组件:Row-Repeater

1.新建WDA程序并激活  ZLYWDA02

2.进入VIEW,创建CONTEXT:

表:0..n

选择行:单选

初始化选择行

3.创建循环节点  右键HCONTEXT创建循环节点HCONTEXT_REC

给HCONTEXT添加属性:

TEXT:STRING       显示

CARRID:STRING   第一层

CONNID:STRING   第二层

VIEW的INIT中初始化节点:

METHOD WDDOINIT .
TYPES:
BEGIN OF TYP_FLIGHT,
CARRID TYPE STRING,
CONNID TYPE STRING,
NAME TYPE STRING,
END OF TYP_FLIGHT. DATA:
LS_FLIGHT TYPE TYP_FLIGHT,
LT_FLIGHT TYPE STANDARD TABLE OF TYP_FLIGHT. * set the internal table
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-01'.
LS_FLIGHT-CONNID = 'CA-01-CO-01'.
LS_FLIGHT-NAME = 'CA-01-CO-01:item1'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-01'.
LS_FLIGHT-CONNID = 'CA-01-CO-01'.
LS_FLIGHT-NAME = 'CA-01-CO-01:item2'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-01'.
LS_FLIGHT-CONNID = 'CA-01-CO-01'.
LS_FLIGHT-NAME = 'CA-01-CO-01:item3'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-01'.
LS_FLIGHT-CONNID = 'CA-01-CO-02'.
LS_FLIGHT-NAME = 'CA-01-CO-02:item1'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-01'.
LS_FLIGHT-CONNID = 'CA-01-CO-03'.
LS_FLIGHT-NAME = 'CA-01-CO-03:item1'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-02'.
LS_FLIGHT-CONNID = 'CA-02-CO-01'.
LS_FLIGHT-NAME = 'CA-02-CO-01:item1'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-03'.
LS_FLIGHT-CONNID = 'CA-03-CO-01'.
LS_FLIGHT-NAME = 'CA-03-CO-01:item1'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-03'.
LS_FLIGHT-CONNID = 'CA-03-CO-02'.
LS_FLIGHT-NAME = 'CA-03-CO-02:item1'.
APPEND LS_FLIGHT TO LT_FLIGHT.
CLEAR:LS_FLIGHT.
LS_FLIGHT-CARRID = 'CA-04'.
LS_FLIGHT-CONNID = 'CA-04-CO-01'.
LS_FLIGHT-NAME = 'CA-04-CO-01:item1'.
APPEND LS_FLIGHT TO LT_FLIGHT.
SORT LT_FLIGHT BY CARRID CONNID NAME.
* set the context
DATA:
LO_NODE TYPE REF TO IF_WD_CONTEXT_NODE,
LO_ELEM TYPE REF TO IF_WD_CONTEXT_ELEMENT,
LO_NODE_REC TYPE REF TO IF_WD_CONTEXT_NODE,
LO_ELEM2 TYPE REF TO IF_WD_CONTEXT_ELEMENT,
LO_NODE_REC2 TYPE REF TO IF_WD_CONTEXT_NODE,
LS_CONTEXT TYPE WD_THIS->ELEMENT_HCONTEXT,
LW_CARRID TYPE STRING,
LW_CONNID TYPE STRING.
LOOP AT LT_FLIGHT INTO LS_FLIGHT.
* new Carrid, 1st level.
* IF LW_CARRID <> LS_FLIGHT-CARRID.
IF LW_CARRID <> LS_FLIGHT-CONNID.
LW_CARRID = LS_FLIGHT-CONNID.
CONCATENATE '1st level:'
LS_FLIGHT-CARRID
INTO LS_CONTEXT-TEXT.
LS_CONTEXT-CARRID = LS_FLIGHT-CARRID.
LS_CONTEXT-CONNID = LS_FLIGHT-CONNID.
* node
LO_NODE = WD_CONTEXT->GET_CHILD_NODE( NAME = 'HCONTEXT' ).
* bind structure
LO_ELEM = LO_NODE->BIND_STRUCTURE( NEW_ITEM = LS_CONTEXT
SET_INITIAL_ELEMENTS = ABAP_FALSE ).
* create dependent node for recurion
LO_NODE_REC = LO_ELEM->GET_CHILD_NODE( 'HCONTEXT_REC' ).
ENDIF.
* for the 2rd level
CONCATENATE '2rd level:'
LS_FLIGHT-NAME
INTO LS_CONTEXT-TEXT.
LS_CONTEXT-CARRID = LS_FLIGHT-CARRID.
LS_CONTEXT-CONNID = LS_FLIGHT-CONNID.
* bind
LO_NODE_REC->BIND_STRUCTURE( NEW_ITEM = LS_CONTEXT
SET_INITIAL_ELEMENTS = ABAP_FALSE ).
ENDLOOP.
ENDMETHOD.

效果:

WDA基础八:ROWREPEATER的使用的更多相关文章

  1. Bootstrap <基础八>图片

    Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来获得图片圆角. .img-circle:添加 border-r ...

  2. Java语言基础(八)

    Java语言基础(八) 一.数学运算  + - * /  % (1)凡是byte  short  char类型都按int类型的计算   看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...

  3. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  4. Java基础八--构造函数

    Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super( ...

  5. day 62.3 Django基础八之cookie和session

    Django基础八之cookie和session   本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx ...

  6. day 73 Django基础八之cookie和session

      Django基础八之cookie和session   本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 x ...

  7. Django基础八之认证模块---auth

    Django基础八之认证模块---auth 目录 Django基础八之认证模块---auth 1. auth介绍 2. autho常用操作 2.1 创建用户 2.2 验证用户 2.3 验证用户是否登录 ...

  8. WDA基础十八:Select option配置

    为了省代码...为了方便管理WDA的查询条件... 首先建配置表: 说明: 上面的KEY基本都是维护的维度,可以根据销售组织,根据用户组,根据组件,根据SELECT OPTION的不同...等等,可以 ...

  9. python基础(八)面向对象的基本概念

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...

随机推荐

  1. cmd中utf-8编码的问题

    有时候我们需要使用cmd显示某个utf-8编码的文本,这时候就需要设置cmd的代码页为65100. 也就是 chcp 65001 这条命令.这样设置可以临时生效. 如何要永久生效,需要在注册表中修改. ...

  2. 每天一个小程序—0013题(爬图片+正则表达式 or BeautifulSoup)

    第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-) 关于python3的urllib模块,可以看这篇博客:传送门 首先是用urlopen打开网站并且获取网页 ...

  3. C#调用cmd命令

    using System.Diagnostics; public class CmdHelper { private static string CmdPath = @"C:\Windows ...

  4. 【Selenium2】【selenium之 定位以及切换frame(iframe)】

    参考:http://blog.csdn.net/huilan_same/article/details/52200586 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切, ...

  5. Codeforces 776E The Holmes Children

    题目链接:http://codeforces.com/problemset/problem/776/E ${\because gcd(i,n-i)=1\Leftrightarrow gcd(i,n)= ...

  6. zipkin启动报错(Caused by: java.lang.ClassNotFoundException: zipkin.Component)的解决方法

    使用ziplin依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifact ...

  7. 记录flask使用模板时出现的“Internal Server Error”错误

    在看<Flask Web开发实战:入门.进阶与原理解析(李辉著 )>时照着书上的代码抄了一遍,然后运行时发现一直出现以下的错误 书上的源代码如下 watchlist.html <he ...

  8. gradlew 的https代理设定

    在内网编译vlc for Android 时, 总是在 [./gradlew assemble] 卡住, 在网上找到了设置代理的方法: 在gradlew 的同一目录,建立一个 gradle.prope ...

  9. [maven] introduction to the standard directory layout

    The next section documents the directory layout expected by Maven and the directory layout created b ...

  10. [Spring] Aspect Oriented Programming with Spring | AOP | 切面 | 切点

    使用Spring面向切面编程 1.介绍 AOP是OOP的补充,提供了另一种关于程序结构的思路. OOP的模块化的关键单位是 类 . AOP的则是aspect切面. AOP 将程序的逻辑分成独立的块(叫 ...