WDA学习(26):Phase Indicator使用
1.19 UI Element:Phase Indicator使用
本实例测试创建Phase Indicator;
运行结果:
1.创建Component,View: V_PHASE_IND;
2.创建Context节点;
创建NODE:NODE_PHASE_STATUS,记录每个阶段状态;
创建Attribute:STA_P1,类型:WDUI_PHASE_STATUS,Phase1阶段状态;
创建Attribute:STA_P2,类型:WDUI_PHASE_STATUS,Phase2阶段状态;
创建Attribute:STA_P3,类型:WDUI_PHASE_STATUS,Phase3阶段状态;
创建Attribute:SELECT_PHASE,类型:String,记录当前选中Phase;
创建NODE:NODE_KEY,记录下拉框选择值;
创建Attribute:STATUS,记录下拉框选择状态;
3.创建Layout UI Element
创建UI Element:
创建PhaseIndicator:PI1
selectedPhase:绑定Attribute, NODE_PHASE_STATUS.SELECT_PHASE;
onSelect:绑定Method,SEL_PI;
创建Phase:P1
status:绑定Attribute, NODE_PHASE_STATUS.STA_P1;
创建Phase:P2
status:绑定Attribute, NODE_PHASE_STATUS.STA_P2;
创建Phase:P3
status:绑定Attribute,NODE_PHASE_STATUS.STA_P3;
创建DropDownByKey:DROPBYKEY
selectedKey:绑定Attribute, NODE_KEY.STATUS;
onSelect:SEL_STATUS;
4.创建Method页签方法
Method:INIT_PHASE_STATUS,初始化Phase status,在WDDOINIT方法中调用;
代码实例:
DATA:lo_node TYPE REF TO if_wd_context_node.
DATA:lo_element TYPE REF TO if_wd_context_element.
DATA:lv_status TYPE wdui_phase_status VALUE '00'.
DATA:ls_status TYPE wd_this->element_node_phase_status.
"获取节点
lo_node = wd_context->get_child_node( wd_this->wdctx_node_phase_status ).
lo_element = lo_node->get_element( ). "设置初始值
ls_status-select_phase = 'P1'.
ls_status-sta_p1 = lv_status.
ls_status-sta_p2 = lv_status.
ls_status-sta_p3 = lv_status.
lo_node->set_static_attributes(
EXPORTING
static_attributes = ls_status
). * "设置初始值
* lo_element->set_attribute(
* EXPORTING
* name = 'STA_P1'
* value = lv_status
* ).
* lo_element->set_attribute(
* EXPORTING
* name = 'STA_P1'
* value = lv_status
* ).
*
* lo_element->set_attribute(
* EXPORTING
* name = 'STA_P1'
* value = lv_status
* ).
Method:ONACTIONSEL_PI,Action:SEL_PI对应方法
代码实例:
DATA:lo_node TYPE REF TO if_wd_context_node.
DATA:lo_element TYPE REF TO if_wd_context_element.
DATA:lo_event TYPE REF TO cl_wd_custom_event.
DATA:lv_str TYPE string.
DATA:lv_msg TYPE string.
DATA:lv_phase_status TYPE string.
DATA:lo_dropdownkey TYPE REF TO CL_WD_DROPDOWN_BY_KEY.
lo_event = wdevent.
lv_str = lo_event->get_string(
name = 'PHASE'
).
lv_msg = '选择phase:' && lv_str.
wd_comp_controller->show_msg( msg = lv_msg msg_type = 'S' ). "设置选择的phase
lo_node = wd_context->get_child_node( wd_this->wdctx_node_phase_status ).
lo_element = lo_node->get_element( ).
lo_element->set_attribute(
EXPORTING
name = 'SELECT_PHASE'
value = lv_str
).
CASE lv_str.
WHEN 'P1'.
lo_element->get_attribute(
EXPORTING
name = 'STA_P1'
IMPORTING
value = lv_phase_status
).
WHEN 'P2'.
lo_element->get_attribute(
EXPORTING
name = 'STA_P2'
IMPORTING
value = lv_phase_status
).
WHEN 'P3'.
lo_element->get_attribute(
EXPORTING
name = 'STA_P3'
IMPORTING
value = lv_phase_status
).
ENDCASE.
"设置当前下拉选择值
lo_dropdownkey ?= wd_this->v_view->get_element( id = 'DROPBYKEY' ).
lo_dropdownkey->set_selected_key( lv_phase_status ).
Method: ONACTIONSEL_STATUS,Action:SEL_STATUS对应方法
代码实例:
DATA:lo_node TYPE REF TO if_wd_context_node.
DATA:lo_element TYPE REF TO if_wd_context_element.
DATA:lo_event TYPE REF TO cl_wd_custom_event.
DATA:lv_key TYPE wdui_phase_status.
DATA:lv_phase TYPE string.
lo_event = wdevent.
"获取选择key
lv_key = lo_event->get_string( name = 'KEY' ). lo_node = wd_context->get_child_node( wd_this->wdctx_node_phase_status ).
lo_element = lo_node->get_element( ).
lo_element->get_attribute(
EXPORTING
name = 'SELECT_PHASE'
IMPORTING
value = lv_phase
). "设置对应选择状态
CASE lv_phase.
WHEN 'P1'.
lo_element->set_attribute(
EXPORTING
name = 'STA_P1'
value = lv_key
).
WHEN 'P2'.
lo_element->set_attribute(
EXPORTING
name = 'STA_P2'
value = lv_key
).
WHEN 'P3'.
lo_element->set_attribute(
EXPORTING
name = 'STA_P3'
value = lv_key
).
ENDCASE.
WDA学习(26):Phase Indicator使用的更多相关文章
- Python学习(26):Python函数式编程
转自 http://www.cnblogs.com/BeginMan/p/3509985.html 前言 <core python programming 2>说: Python不大可能 ...
- OpenCV学习(26) 直方图(3)
本章中我们学习一下通过backproject直方图,得到一副图像中每个像素属于该直方图的概率.在下边原始图中(左图),我们框选了一块四边形的区域,计算该区域的灰度直方图,然后通过下面的函数calcBa ...
- Kubernetes 学习26 基于kubernetes的Paas概述
一.概述 1.通过以往的学习应该可以了解到k8s 和以往提到的devops概念更容易落地了.比如我们说的CI,CD,CD a.CI(Continuous Integration):持续集成 b.CD( ...
- iOS学习26之UINavigationController
1. UINavigationController 1> 概述 UINavigationController : 导航控制器, 是 iOS 中最常用的多视图控制器之一, 用它来管理多个视图控制器 ...
- [游戏学习26] MFC 时间函数 画图形
>_<:这里第一次介绍MFC的时间函数,功能和Win32里的计时器类似. >_<:这里还介绍了MFC的图形绘制函数,和Win32有一点区别 >_<:ABC.h #d ...
- C++学习26 运算符重载的概念和语法
所谓重载,就是赋予新的含义.函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作.运算符重载(Operator Overloading)也是一个道 ...
- swift 学习- 26 -- 泛型
// 泛型 代码能够让你根据自定义的需求,编写出适用于任意类型, 灵活可重用的函数以及类型, 它能让你避免代码的重复, 用一种清晰和抽象的方式来表达代码的意图 // 泛型是 Swift 最强大的特性之 ...
- python学习(26)分析ajax请求抓取今日头条cosplay小姐姐图片
分析ajax请求格式,模拟发送http请求,从而获取网页代码,进而分析取出需要的数据和图片.这里分析ajax请求,获取cosplay美女图片. 登陆今日头条,点击搜索,输入cosplay 下面查看浏览 ...
- Python学习-26.Python中的三角函数
Python中的三角函数位于math模块内. 引入模块: import math 输出pi import math print(math.pi) 得:3.141592653589793 math模块内 ...
- python学习-26 函数作用域
举例说明: 1. name = 'john' def foo(): name = 'xiaomming' def bar(): print(name) return bar a=foo() print ...
随机推荐
- React中实现keepalive组件缓存效果
背景:由于react官方并没有提供缓存组件相关的api(类似vue中的keepalive),在某些场景,会使得页面交互性变的很差,比如在有搜索条件的表格页面,点击某一条数据跳转到详情页面,再返回表格页 ...
- angular打包出现JavaScript堆内存不足、启动也会内存溢出解决办法\increase-memory-limit' 不是内部或外部命令,
## 打包出现JavaScript堆内存不足 最近打包遇到这种报错 Ineffective mark-compacts near heap limit Allocation failed - Java ...
- 都用过@Autowired,但你知道它是怎么实现的吗
前言 在使用Spring开发的时候,配置的方式主要有两种,一种是xml的方式,另外一种是 java config的方式.在使用的过程中java config,我们难免会与注解进行各种打交道,其中,我们 ...
- Consumer接口-Consumer接口的默认方法andThen
Consumer接口 java.util.function.Consumer<T〉接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定. 抽象方法:a ...
- 第九周总结-MySQL、前端
多表查询的两种方式 1.连表操作: 1.1: inner join:内连接,将两张表共同的部分连接在一起生成一张新表.凭借顺序是把后面的表拼在前面表的后面,如果颠倒位置结果不同. select * f ...
- 不用Blazor WebAssembly,开发在浏览器端编译和运行C#代码的网站
本文中,我将会为大家分享一个如何用.NET技术开发"在浏览器端编译和运行C#代码的工具",核心的技术就是用C#编写不依赖于Blazor框架的WebAssembly以及Roslyn技 ...
- VMware 虚拟机安装 OpenWrt 作旁路由 单臂路由 img 镜像转 vmdk 旁路由无法上网 没网络
重要注意事项 由于布线原因笔记本只能采用无线的方式连接路由器,在Windows10的环境下使用无线网卡桥接,结果软路由无法上网,翻阅了各种帖子最终发现跟系统底层的协议栈有关系,随即放弃使用有线网卡,不 ...
- ROS入门:服务
服务端实现一个加法,将结果反馈给客户端 客户端将要计算的和的两个数发给服务的. 1.自定义服务数据 创建一个srv文件:AddTwoInts.srv int64 a int64 b --- int64 ...
- 多重背包问题 II
有 NN 种物品和一个容量是 VV 的背包. 第 ii 种物品最多有 sisi 件,每件体积是 vivi,价值是 wiwi. 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大.输 ...
- Spring Cloud Config 本地配置
七:Spring Cloud Config 本地配置 本地文件系统 我们可以将微服务的相关配置文件存储到本地文件中,然后让微服务来读取本地文件. 创建本地文件 Config Server 1.创建模块 ...