WDA学习(18):UI Element:TabStrip使用

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;

 

 

posted @ 2022-08-12 17:30  渔歌晚唱  阅读(83)  评论(0编辑  收藏  举报