日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ALV GRID中实现RadioButton单选按钮

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ALV GRID中实现RadioButton单选按钮 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ALV?GRID中實現Checkbox復選框很簡單,只需要將LVC_S_FCAT-CHECKBOX = 'X'即可,那么alv中radio Button單選怎么實現呢?

1、程序代碼
  • TYPE-POOLS:ABAP, slis.

  • DATA: BEGIN OF gt_list OCCURS 0,
  • ? ?? ???sel TYPE char4,
  • ? ?? ???val TYPE i,
  • ? ?? ?END OF gt_list.

  • DATA: go_alv_grid TYPE REF TO cl_gui_alv_grid.
  • *&---------------------------------------------------------------------*
  • *& CLASS LCL_EVENT_RECEIVER DEFINITION
  • *&---------------------------------------------------------------------*
  • CLASS lcl_event_receiver DEFINITION.
  • ??PUBLIC SECTION.
  • ? ? CLASS-METHODS:
  • ? ?? ?hotspot_click
  • ? ?? ???FOR EVENT hotspot_click OF cl_gui_alv_grid
  • ? ?? ?? ? IMPORTING e_row_id
  • ? ?? ?? ?? ?? ?? ???e_column_id
  • ? ?? ?? ?? ?? ?? ???es_row_no.
  • ENDCLASS.? ?? ?? ?? ?? ?? ???"LCL_EVENT_RECEIVER DEFINITION
  • *&---------------------------------------------------------------------*
  • *& CLASS LCL_EVENT_RECEIVER DEFINITION
  • *&---------------------------------------------------------------------*
  • CLASS lcl_event_receiver IMPLEMENTATION.
  • ??METHOD hotspot_click.
  • ? ? DATA: ls_list LIKE gt_list.
  • ? ? CLEAR ls_list.
  • ? ? READ TABLE gt_list INTO ls_list INDEX e_row_id.
  • ? ? IF gt_list-sel NE '@TB@'.
  • ? ?? ?ls_list-sel = '@SR@'.
  • ? ?? ?MODIFY gt_list FROM ls_list TRANSPORTING sel WHERE sel NE '@SR@'.
  • ? ?? ?ls_list-sel = '@TB@'.
  • ? ?? ?MODIFY gt_list FROM ls_list INDEX e_row_id TRANSPORTING sel .
  • ? ? ENDIF.
  • ? ? PERFORM frm_ref_alv.
  • ??ENDMETHOD.? ?? ?? ?? ?? ?? ???"HANDLE_ONF4
  • ENDCLASS.? ?? ?? ?? ?? ?? ???"LCL_EVENT_RECEIVER IMPLEMENTATION
  • *&---------------------------------------------------------------------*
  • *&? ?? ?START-OF-SELECTION
  • *&---------------------------------------------------------------------*
  • START-OF-SELECTION.
  • ??PERFORM frm_get_data.
  • ??PERFORM frm_dsp_data.
  • *&---------------------------------------------------------------------*
  • *&? ?? ?Form??FRM_GET_DATA
  • *&---------------------------------------------------------------------*
  • FORM frm_get_data .
  • ??DO 10 TIMES.
  • ? ? IF sy-index = 1.
  • ? ?? ?gt_list-sel = '@TB@'.
  • ? ? ELSE.
  • ? ?? ?gt_list-sel = '@SR@'.
  • ? ? ENDIF.
  • ? ? gt_list-val = sy-index.
  • ? ? APPEND gt_list.
  • ??ENDDO.
  • ENDFORM.? ?? ?? ?? ?? ?? ???" FRM_GET_DATA
  • *&---------------------------------------------------------------------*
  • *&? ?? ?Form??FRM_DSP_DATA
  • *&---------------------------------------------------------------------*
  • FORM frm_dsp_data .
  • ??DATA: ls_layo??TYPE lvc_s_layo,
  • ? ?? ???lt_fcat??TYPE lvc_t_fcat,
  • ? ?? ???ls_fcat??TYPE lvc_s_fcat,
  • ? ?? ???lt_event TYPE slis_t_event,
  • ? ?? ???ls_event TYPE slis_alv_event.
  • ??ls_layo-zebra? ?? ?= abap_true.
  • ??ls_layo-cwidth_opt = abap_true.
  • ??ls_fcat-fieldname = 'SEL'.
  • ??ls_fcat-hotspot = 'X'.
  • ??ls_fcat-scrtext_l =
  • ??ls_fcat-scrtext_m =
  • ??ls_fcat-scrtext_s = '選擇'.
  • ??APPEND ls_fcat TO lt_fcat.
  • ??CLEAR ls_fcat.
  • ??ls_fcat-fieldname = 'VAL'.
  • ??ls_fcat-scrtext_l =
  • ??ls_fcat-scrtext_m =
  • ??ls_fcat-scrtext_s = '值'.
  • ??APPEND ls_fcat TO lt_fcat.
  • ??CLEAR ls_fcat.
  • ??ls_event-name = slis_ev_caller_exit_at_start.
  • ??ls_event-form = slis_ev_caller_exit_at_start.
  • ??APPEND ls_event TO lt_event.
  • * 顯示alv列表
  • ??CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
  • ? ? EXPORTING
  • ? ?? ?i_callback_program = sy-repid
  • ? ?? ?is_layout_lvc? ?? ?= ls_layo
  • ? ?? ?it_fieldcat_lvc? ? = lt_fcat
  • ? ?? ?i_save? ?? ?? ?? ? = 'A'
  • ? ?? ?it_events? ?? ?? ? = lt_event
  • ? ? TABLES
  • ? ?? ?t_outtab? ?? ?? ???= gt_list
  • ? ? EXCEPTIONS
  • ? ?? ?program_error? ?? ?= 1
  • ? ?? ?OTHERS? ?? ?? ?? ? = 2.
  • ??IF sy-subrc NE 0.
  • ? ? MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  • ? ?? ?? ? WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  • ??ENDIF.
  • ENDFORM.? ?? ?? ?? ?? ?? ???" FRM_DSP_DATA
  • *&---------------------------------------------------------------------*
  • *&? ?? ?Form??CALLER_EXIT
  • *&---------------------------------------------------------------------*
  • FORM caller_exit USING u_exit TYPE slis_data_caller_exit.
  • ??DATA: ls_f4 TYPE lvc_s_f4,
  • ? ?? ???lt_f4 TYPE lvc_t_f4.
  • ??CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
  • ? ? IMPORTING
  • ? ?? ?e_grid = go_alv_grid.
  • * 設置回車事件
  • ??CALL METHOD go_alv_grid->register_edit_event
  • ? ? EXPORTING
  • ? ?? ?i_event_id = cl_gui_alv_grid=>mc_evt_enter
  • ? ? EXCEPTIONS
  • ? ?? ?error? ?? ?= 1
  • ? ?? ?OTHERS? ???= 2.
  • * 設置光標焦點移開被修改單元格后觸發事件
  • ??CALL METHOD go_alv_grid->register_edit_event
  • ? ? EXPORTING
  • ? ?? ?i_event_id = cl_gui_alv_grid=>mc_evt_modified
  • ? ? EXCEPTIONS
  • ? ?? ?error? ?? ?= 1
  • ? ?? ?OTHERS? ???= 2.
  • ??SET HANDLER lcl_event_receiver=>hotspot_click FOR go_alv_grid.
  • ENDFORM.? ?? ?? ?? ?? ?? ???"CALLER_EXIT
  • *&---------------------------------------------------------------------*
  • *&? ?? ?Form??FRM_REF_ALV
  • *&---------------------------------------------------------------------*
  • FORM frm_ref_alv .
  • ??DATA ls_stbl TYPE lvc_s_stbl.
  • ??ls_stbl-row = abap_true.
  • ??ls_stbl-col = abap_true.
  • ??CALL METHOD go_alv_grid->refresh_table_display
  • ? ? EXPORTING
  • ? ?? ?is_stable = ls_stbl.
  • ENDFORM.? ?? ?? ?? ?? ?? ???" FRM_REF_ALV
  • 復制代碼
    2、程序執行效果:

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的ALV GRID中实现RadioButton单选按钮的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。