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使用的更多相关文章

  1. Python学习(26):Python函数式编程

    转自  http://www.cnblogs.com/BeginMan/p/3509985.html 前言 <core python programming 2>说: Python不大可能 ...

  2. OpenCV学习(26) 直方图(3)

    本章中我们学习一下通过backproject直方图,得到一副图像中每个像素属于该直方图的概率.在下边原始图中(左图),我们框选了一块四边形的区域,计算该区域的灰度直方图,然后通过下面的函数calcBa ...

  3. Kubernetes 学习26 基于kubernetes的Paas概述

    一.概述 1.通过以往的学习应该可以了解到k8s 和以往提到的devops概念更容易落地了.比如我们说的CI,CD,CD a.CI(Continuous Integration):持续集成 b.CD( ...

  4. iOS学习26之UINavigationController

    1. UINavigationController 1> 概述 UINavigationController : 导航控制器, 是 iOS 中最常用的多视图控制器之一, 用它来管理多个视图控制器 ...

  5. [游戏学习26] MFC 时间函数 画图形

    >_<:这里第一次介绍MFC的时间函数,功能和Win32里的计时器类似. >_<:这里还介绍了MFC的图形绘制函数,和Win32有一点区别 >_<:ABC.h #d ...

  6. C++学习26 运算符重载的概念和语法

    所谓重载,就是赋予新的含义.函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作.运算符重载(Operator Overloading)也是一个道 ...

  7. swift 学习- 26 -- 泛型

    // 泛型 代码能够让你根据自定义的需求,编写出适用于任意类型, 灵活可重用的函数以及类型, 它能让你避免代码的重复, 用一种清晰和抽象的方式来表达代码的意图 // 泛型是 Swift 最强大的特性之 ...

  8. python学习(26)分析ajax请求抓取今日头条cosplay小姐姐图片

    分析ajax请求格式,模拟发送http请求,从而获取网页代码,进而分析取出需要的数据和图片.这里分析ajax请求,获取cosplay美女图片. 登陆今日头条,点击搜索,输入cosplay 下面查看浏览 ...

  9. Python学习-26.Python中的三角函数

    Python中的三角函数位于math模块内. 引入模块: import math 输出pi import math print(math.pi) 得:3.141592653589793 math模块内 ...

  10. python学习-26 函数作用域

    举例说明: 1. name = 'john' def foo(): name = 'xiaomming' def bar(): print(name) return bar a=foo() print ...

随机推荐

  1. C#开发的资源文件程序(可国际化) - 开源研究系列文章

    上次将小软件的线程池描述了,也将插件程序描述了,这次就将里面的资源文件相关的内容进行下记录,这里能够让程序做成国际化的形式(即多语言程序),主要就是通过这个资源文件的方式进行的处理.下面将对这个资源文 ...

  2. 过年必备!亲戚计算器「GitHub 热点速览 v.23.02」

    过完这周大家就要开始为期 7 天的春节长假了,当然有些 HG 小伙伴拥有了 10+ 天的长假就低调点不要告诉他人,以免招人妒忌.春节必经的事情可能就是走亲戚了,所以本周特推选取了一个研究亲戚关系的资深 ...

  3. Array.from() ------来自❀ 前端宇宙 ❀公众号。

    JavaScript 中有一个这样的函数: Array.from:允许在 JavaScript 集合(如: 数组.类数组对象.或者是字符串.map .set 等可迭代对象) 上进行有用的转换. 1. ...

  4. 网络通讯协议分类-IP地址

    网络通讯协议分类 通信的协议还是比较复杂的,java.net包中包含的类和接口,它们提供低层次的通信细节.我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节. java.net包 ...

  5. prometheus+grafana监控体验

    先上pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  6. [Windows] 微信超级管家,自动好友回复、计数、自动同意、群发、好友导出、消息日志、无限多开

    [Windows] 微信超级管家,自动好友回复.计数.自动同意.群发.好友导出.消息日志.无限多开 微信超级管家是一款大神针对微信制作的工具,它的主要功能包括了自动回复.好友计数.自动同意.群发.好友 ...

  7. P22_条件渲染

    条件渲染 wx:if 在小程序中,使用 wx:if="{{condition}}" 来判断是否需要渲染该代码块: 也可以用 wx:elif 和 wx:else 来添加 else 判 ...

  8. STM32F4库函数初始化系列:串口发送

    1 void Configuration(void) 2 { 3 USART_InitTypeDef USART_InitStructure; 4 GPIO_InitTypeDef GPIO_Init ...

  9. Java期末测试

    会议预约管理信息系统(50分)     1.项目背景: 会议是企业进行决策.协商的重要组织形式,是企业日常办公处理事务的重要手段,是办公流程中不可缺少的重要环节,作为企业,如何有效的进行会议组织,管理 ...

  10. vue3 setup语法糖下,vue自定义指令的实现,以及指令全局挂载,自定义v-loading的实现

    最近一段时间,在做h5的移动端项目,UI组件库使用的vant,vant组件中的loading实在难用,无法包裹某个块进行loading,也无法对非组件的标签进行loading,所以想着自定义写个指令, ...