1.11 UI Element:Tabstrip使用

本实例显示UI Element:Tabstrip的使用。

1.创建Component;

2.选择Layout页签,设置页面;

创建UI Element:Tabstrip,插入两个Tab;

Tab1 ID: T_TAB1;

Tab2 ID:T_TAB2;

其中Tab1,Tab2简单显示TextView;

创建Events对应Action:

TAB_CLOSE:当Tab关闭时调用;

TAB_SELECT:当Tab选择切换时调用;

3.设置Tab属性;

closeable:勾选上表示Tab右上角可以勾选叉掉,触发TAB_CLOSE方法;

visible:设置绑定第四步创建的Context节点值,实现动态控制;

4.创建Context节点;

TAB1_VISIBLE:boolean类型,控制Tab1是否可见;

TAB2_VISIBLE:boolean类型,控制Tab2是否可见;

5.初始化显示两个Tab,INIT_TAB方法在WDDOINIT中调用;

method INIT_TAB .
DATA:lo_node TYPE REF TO if_wd_context_node.
DATA:lo_element TYPE REF TO if_wd_context_element.
DATA:ls_tabconfig TYPE wd_this->Element_tab_config. lo_node = wd_context->get_child_node( name = wd_this->WDCTX_TAB_CONFIG ).
"初始值
ls_tabconfig-tab1_visible = abap_true.
ls_tabconfig-tab2_visible = abap_true.
"绑定值
lo_node->bind_structure( new_item = ls_tabconfig set_initial_elements = abap_true ).
endmethod. 

6.实现TAB_SELECT方法,因为是Action,所以方法名ONACTION开头;

method ONACTIONTAB_SELECT .
DATA:lv_msg TYPE string.
"当tab选择时,获取选择tab
lv_msg = wdevent->get_string( name = 'TAB' ).
lv_msg = '选择Tab:' && lv_msg.
wd_comp_controller->show_msg( msg = lv_msg msg_type = 'S' ).
endmethod. 

7.实现TAB_CLOSE方法;

method ONACTIONTAB_CLOSE .
DATA:lo_node TYPE REF TO if_wd_context_node.
DATA:lo_element TYPE REF TO if_wd_context_element.
DATA:ls_tabconfig TYPE wd_this->Element_TAB_CONFIG.
DATA:lv_name TYPE string. lv_name = wdevent->get_string( 'TAB' ).
lo_node = wd_context->get_child_node( name = wd_this->WDCTX_TAB_CONFIG ).
lo_node->get_static_attributes( IMPORTING static_attributes = ls_tabconfig ).
"点击close时,设置Tab不可见
IF lv_name cs 'T_TAB1'.
CLEAR ls_tabconfig-tab1_visible.
ELSEIF lv_name cs 'T_TAB2'.
CLEAR ls_tabconfig-tab2_visible.
ENDIF. lo_node->bind_structure( new_item = ls_tabconfig set_initial_elements = abap_true ).
endmethod. 

8.执行显示,选择Tab2时,获取选择的Tab ID;

WDA学习(18):UI Element:TabStrip使用的更多相关文章

  1. AngularJS学习 之 UI以及逻辑生成

    学习<Angular高级编程>理解如下 要求: 创建如下界面,有导航栏,一个Watchlists面板,面板上有个加号button,一句说明“”Use+to create a list“” ...

  2. Android学习笔记⑤——UI组件的学习TextView相关

    TextView是一个强大的视图组件,直接继承了View,同时也派生出了很多子类,TextView其作用说白了就是在布局中显示文本,有点像Swing编程中的JLabel标签,但是他比JLabel强大的 ...

  3. Swift学习之UI开发初探

    Swift是供iOS和OS X应用编程的新编程语言.相信很多开发者都在学习这门新语言.废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程序. AD: 概述 Apple近日发布了Swift ...

  4. 【JS】学习18天Jquery Moblie的总结笔记。

    现在是2013年11月18日1:53分,从1号开始学习JqueryMoblie(简称JQM),这些天遇到的问题,和走的弯路还真不少. 先做个小总结,做了那么多天的一些收获: ●JQM是一个手机网站/轻 ...

  5. React 学习(一) ---- React Element /组件/JSX

    学习React的时候,你可能听到最多的就是要先学习webpack, babel,要先学会配置然后才能学react 等等,一堆的配置就把我们吓着了,根本就没有心情就学习react了.其实在最开始学习re ...

  6. Jquery学习---Easy UI 框架

    Jquery的easyui 1.1. easyui的目录分析 以 jquery Easy UI 1.3.2 版本学习 demo 实例 locale 国际化信息 plugins 框架一些插件 src 源 ...

  7. 安卓学习之--UI控件用法 单选 按钮 下拉框

    1.单选 .RadioGroup 可将各自不同的RadioButton ,设限于同一个Radio 按钮组,同一个RadioGroup 组里的按钮,只能做出单一选择(单选题). <RadioGro ...

  8. swift学习之UI控件(一)

    // //  ViewController.swift //  test // //  Created by chuangqu on 15/7/23. //  Copyright (c) 2015年 ...

  9. iOS学习之UI可视化编程-StoryBoard

    一.StoryBoard与xib 对比: 相同点:都属于IB编程的方式,可以快速构建GUI. 不同点:xib侧重于单文件(单独的控制器或者视图)编辑,storyboard侧重于多页面关联.storyb ...

  10. iOS学习之UI可视化编程-XIB

    一.Interface Builder可视化编程 1.Interface Builder简介: GUI:图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是 ...

随机推荐

  1. React 安装 Sass 错误问题; node-sass 安装运行成功 yarn add sass node-sass@npm:sass

    正常安装是: yarn add node-sass 直接安装出现报错 例如: Node Sass does not yet support your current environment: Wind ...

  2. Lazarus 开发环境使用技巧

    Lazarus 开发环境使用技巧 1.代码补全 按下键盘的Ctrl+W键!输入变量后按下这个键就OK啦- 2.自动完成 自动完成的快捷键大多数都冲突了,解决方法是打开 工具(T)->选项...- ...

  3. Java脚本操作mysql和接口

    一.Java操作MySQL 1.插入insert 1 import java.sql.*; 2 import java.util.UUID; 3 4 public class BigData { 5 ...

  4. [Swift] SwiftUI布局的一些写法基础(用Swift构造UI布局)

    这个文档是在你 完全熟悉 Objective-C 上用代码构造UI的前提下写的 官方教程:https://developer.apple.com/tutorials/swiftui/creating- ...

  5. 基于Nginx上的docker负载均衡

    1.首先需要拖拽镜像文件   docker  pull nginx 2.生成多个docker容器 docker run --name demo1 -d -p 8081:80 -v /data/demo ...

  6. 2018GPLT

    2018GPLT 7-1 天梯赛座位分配 一共有n所学校参加比赛,每所学校有\(a_i\)只队伍,每只队伍共10人,要保证每个学校的所有队员不能相邻就坐,令每一所学校的队伍排成一排纵列,然后从第一所学 ...

  7. laravel phpstorm ide-helper

    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ composer create-proj ...

  8. .ToList()前的OrderBy是起不到排序效果的【未解决】

    废话也不说了,直接上图 思考:很多时候我们都想通过Linq的OrderBy给数据集进行排序,这样确实是有效的,但是如果后面将数据集改成了ToList()的话是又会重新打乱排序方式的! 所以有个疑问需要 ...

  9. QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection(QueryDet:用于加速高分辨率小目标检测的级联稀疏查询)

    QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection(QueryDet:用于加 ...

  10. Python占位符总结:%方式和format方式

    Python中,我们在预定义某类具有相似格式的变量或者输出一句含有多个变量的提示语句时,往往用到占位符,而占位符有两种表达方式: %方式: 下面这段代码摘自matplotlib的_init_.py文件 ...