web dynpro ALV基础详解

11 篇文章 0 订阅
1 篇文章 0 订阅

web dynpro从零开始基础版step_by_step配图

示例:

实现: web dynpro 页面间值传递,web dynpro ALV, web dynpro ALV 标准button控制,web dynpro ALV hotlink,web dynpro ALV可编辑设置,web dynpro 页面跳转

实现代码:

method ONACTIONONSHOW .

  DATA lo_nd_data TYPE REF TO if_wd_context_node.
  DATA lt_rows  type WDR_CONTEXT_ELEMENT_SET.
  DATA wa_rows like line of lt_rows.
  DATA:L_INDEX TYPE SY-INDEX.
  DATA lo_el_data TYPE REF TO IF_WD_CONTEXT_ELEMENT.
  DATA lt_sflight TYPE wd_this->Elements_lt_sflight.
  DATA lS_sflight LIKE LINE OF  lt_sflight.

  lo_nd_data = wd_context->get_child_node( name = wd_this->wdctx_lt_sflight ).
*  获取选中的行
  lt_rows  = lo_nd_data->GET_SELECTED_ELEMENTS( including_lead_selection = abap_true ).

*  遍历选中的行
*  LOOP AT lt_rows INTO wa_rows.
*
*    CALL METHOD wa_rows->get_static_attributes
*            IMPORTING
*              static_attributes = lS_sflight.
*  ENDLOOP.

  IF lt_rows IS NOT INITIAL.
    READ TABLE lt_rows INTO wa_rows INDEX 1.
*    获取选中行数据
    CALL METHOD wa_rows->get_static_attributes
            IMPORTING
              static_attributes = lS_sflight.

*    详情通过子窗口弹出
*    子窗口管理器
*    DATA: LO_WINDOW_MANAGER TYPE REF TO IF_WD_WINDOW_MANAGER,
*          LO_VIEW_CTRL TYPE REF TO IF_WD_VIEW_CONTROLLER,
*          LO_WINDOW TYPE REF TO IF_WD_WINDOW.
*
*    LO_VIEW_CTRL = WD_THIS->WD_GET_API( ).
*
*    LO_API_COMP = LO_VIEW_CTRL->IF_WD_CONTROLLER~GET_COMPONENT( ).
*
*    LO_WINDOW_MANAGER = LO_API_COMP->GET_WINDOW_MANAGER( ).
*
*    CALL METHOD LO_WINDOW_MANAGER->CREATE_WINDOW
*      EXPORTING
*        MODAL        = ABAP_TRUE
*        WINDOW_NAME  = 'W_ASS_HEADERLIST' "子窗口WINDOWS名称
*        TITLE        = ''
*        CLOSE_BUTTON = ABAP_TRUE
*        BUTTON_KIND  = IF_WD_WINDOW=>CO_BUTTONS_YESNO
*      RECEIVING
*        WINDOW       = LO_WINDOW.
*
*    CALL METHOD LO_WINDOW->SUBSCRIBE_TO_BUTTON_EVENT "单击YES按钮事件
*      EXPORTING
*        BUTTON      = IF_WD_WINDOW=>CO_BUTTON_YES
*        ACTION_NAME = 'YES'
*        ACTION_VIEW = LO_VIEW_CTRL.
*    CALL METHOD LO_WINDOW->SUBSCRIBE_TO_BUTTON_EVENT
*      EXPORTING
*        BUTTON      = IF_WD_WINDOW=>CO_BUTTON_NO "单击NO按钮事件
*        ACTION_NAME = 'NO'
*        ACTION_VIEW = LO_VIEW_CTRL.
*
*    CALL METHOD LO_WINDOW->SET_WINDOW_SIZE
*      EXPORTING
*        WIDTH  = '800'
*        HEIGHT = '400'.
*
*    LO_WINDOW->OPEN( ).

  ELSE.
*    没有选行,报错
    data: l_text type string.
    l_text = '你还未选择展示行'.
*     get message manager
    DATA: l_current_controller TYPE REF TO if_wd_controller,
          l_message_manager    TYPE REF TO if_wd_message_manager.
    l_current_controller ?= wd_this->wd_get_api( ).
    l_message_manager = l_current_controller->get_message_manager( ).
*     report message
    l_message_manager->REPORT_ERROR_MESSAGE(
        message_text  = l_text
*        PARAMS        =
*        MSG_USER_DATA =
           ).
  ENDIF.

endmethod.

web dynpro从零开始基础版step_by_step配图

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随记随心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值