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.

最新文章

  1. [WPF系列]-ListBox
  2. PDF 补丁丁 0.5.0.2713 发布(替换字库功能修正字符宽度问题)
  3. Java程序员必备的6款最佳开发工具
  4. labview多个并行循环同时退出
  5. 高效线程池之无锁化实现(Linux C)
  6. for_each 用法!
  7. 60s 经济学探奇
  8. Scala---For语句段
  9. Linux centos 主机名颜色设置 和 别名设置
  10. Android游戏开发研究帧动画实现
  11. dplyr 数据操作 常用函数(4)
  12. 关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1
  13. css实现切角效果
  14. Jquery如何删除table里面checkbox选中的多个行
  15. 设计模式之行为类模式PK
  16. PHP整理--PHP面向对象
  17. MongoError: Cannot update '__v' and '__v' at the same time,错误解决办法
  18. MDX Step by Step 读书笔记(七) - Performing Aggregation 聚合函数之 Sum, Aggregate, Avg
  19. lavarel模板引擎blade学习
  20. Blog Contents

热门文章

  1. TiDB 底层存储结构 LSM 树原理介绍
  2. 一个小而美的 C 语言项目
  3. 02-逻辑仿真工具VCS使用
  4. 痞子衡嵌入式:盘点国内Cortex-M内核MCU厂商高主频产品(2023)
  5. obj转换为gltf方法three.js一步一步来--性能优化超厉害的!!!!!超赞操作!!!Obj模型转Gltf模型并超强压缩!!!!!
  6. .NET周报【1月第4期 2023-01-28】
  7. QGraphicsView, QGraphicsObject ,QQGraphicsSvgItem 图片接收鼠标事件 拖拉 收放
  8. 读Java8函数式编程笔记06_Lambda表达式编写并发程序
  9. LeetCode_387. 字符串中的第一个唯一字符
  10. 线程、GIL、协程