WDA基础八:ROWREPEATER的使用
这玩意不知道什么时候用^_^
组件: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的使用的更多相关文章
- Bootstrap <基础八>图片
Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来获得图片圆角. .img-circle:添加 border-r ...
- Java语言基础(八)
Java语言基础(八) 一.数学运算 + - * / % (1)凡是byte short char类型都按int类型的计算 看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...
- {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...
- Java基础八--构造函数
Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super( ...
- day 62.3 Django基础八之cookie和session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx ...
- day 73 Django基础八之cookie和session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 x ...
- Django基础八之认证模块---auth
Django基础八之认证模块---auth 目录 Django基础八之认证模块---auth 1. auth介绍 2. autho常用操作 2.1 创建用户 2.2 验证用户 2.3 验证用户是否登录 ...
- WDA基础十八:Select option配置
为了省代码...为了方便管理WDA的查询条件... 首先建配置表: 说明: 上面的KEY基本都是维护的维度,可以根据销售组织,根据用户组,根据组件,根据SELECT OPTION的不同...等等,可以 ...
- python基础(八)面向对象的基本概念
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...
随机推荐
- spring 配置ibatis和自动分页
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- 【译】第5节---Code First约定
原文:http://www.entityframeworktutorial.net/code-first/code-first-conventions.aspx 我们在上一节中已经看到了EF Code ...
- WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心)
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或 ...
- memset()函数用法及其作用
memset()函数原型是: extern void *memset(void *buffer, int c, int count) //buffer:为指针或是数组, //c:是赋给buffer的值 ...
- Python深入:Distutils发布Python模块--转载
https://blog.csdn.net/gqtcgq/article/details/49255995 Distutils可以用来在Python环境中构建和安装额外的模块.新的模块可以是纯Pyth ...
- _ai_creature
- Intellij Idea修改css文件即时更新生成效果
用来Idea也有一段时间了,觉得还是有很多地方没有用到,今天遇到了一个问题,百度了解决方法,正好在这里做一个小记录 主要问题是我在idea的项目里面修改了css文件,然后运行web文件,发现并没有做到 ...
- js 捕获浏览器后退事件
$(document).ready(function(e) { var counter = 0; if (window.history &&am ...
- long long 与__int64
//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数 //结果VC中还是认为是32位的,显然不合适 //typedef signed long int ...
- C#_Demo_摄像头实时_4线程人脸识别注册开发全过程
v效率有点低,大家看看哪里开可以节省时间?源代码:https://github.com/catzhou2002/ArcFaceDemo说实话,为了提高识别效率,我也是竭尽所能,干了不少自认为的优化,如 ...