ABAP Web dynpro layout动态可见

ABAP Web dynpro layout动态可见

新增的元素设置不可见

在这里插入图片描述
在这里插入图片描述
在视图初始化方法中下,获取选中数据,当选中数据不在配置表中,对该视图中容器的子元素显示出来
在这里插入图片描述
效果图:
在这里插入图片描述
在这里插入图片描述
完整代码:

  DATA lo_nd_nod_pay_info TYPE REF TO if_wd_context_node.
  DATA lo_el_nod_pay_info TYPE REF TO if_wd_context_element.
  DATA ls_nod_pay_info TYPE wd_this->element_nod_pay_info.

  DATA: lo_view       TYPE REF TO if_wd_view,
        lo_tc         TYPE REF TO cl_wd_transparent_container,
        lo_lab        TYPE REF TO cl_wd_label,
        lo_inputfield TYPE REF TO cl_wd_input_field.

  lo_nd_nod_pay_info = wd_context->get_child_node( name = wd_this->wdctx_nod_pay_info ).

*  get element via lead selection
  lo_el_nod_pay_info = lo_nd_nod_pay_info->get_element( ).
*  @TODO handle not set lead selection
  IF lo_el_nod_pay_info IS INITIAL.
  ENDIF.

*  get all declared attributes
  lo_el_nod_pay_info->get_static_attributes(
    IMPORTING
      static_attributes = ls_nod_pay_info ).

  IF ls_nod_pay_info IS NOT INITIAL.
    SELECT SINGLE werks FROM ztrecon_werks
      WHERE werks = @ls_nod_pay_info-werks
      INTO @DATA(lv_werks).
    IF sy-subrc <> 0.
      lo_view ?= wd_this->wd_get_api( ).
      IF lo_view IS NOT INITIAL.
        lo_tc ?= lo_view->get_element( id = 'TRANS_01' ).
        IF lo_tc IS NOT INITIAL.
          lo_lab ?= lo_tc->get_child( id = 'TRANS_01_ZQGDH_LBL' ).
          IF lo_lab IS NOT INITIAL.
            lo_lab->set_visible( value = '02' ).
          ENDIF.
          "发票汇率INPUT
          lo_inputfield ?= lo_tc->get_child( id = 'TRANS_01_ZQGDH').
          IF lo_inputfield IS NOT INITIAL.
            lo_inputfield->set_visible( value = '02' ).
          ENDIF.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDIF.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值