ALV GRID中实现Checkbox复选框很简单,只需要将LVC_S_FCAT-CHECKBOX = 'X'即可,那么alv中radio Button单选怎么实现呢?

1、程序代码

  1. TYPE-POOLS:ABAP, slis.
  2. DATA: BEGIN OF gt_list OCCURS 0,
  3. sel TYPE char4,
  4. val TYPE i,
  5. END OF gt_list.
  6. DATA: go_alv_grid TYPE REF TO cl_gui_alv_grid.
  7. *&---------------------------------------------------------------------*
  8. *& CLASS LCL_EVENT_RECEIVER DEFINITION
  9. *&---------------------------------------------------------------------*
  10. CLASS lcl_event_receiver DEFINITION.
  11. PUBLIC SECTION.
  12. CLASS-METHODS:
  13. hotspot_click
  14. FOR EVENT hotspot_click OF cl_gui_alv_grid
  15. IMPORTING e_row_id
  16. e_column_id
  17. es_row_no.
  18. ENDCLASS.                    "LCL_EVENT_RECEIVER DEFINITION
  19. *&---------------------------------------------------------------------*
  20. *& CLASS LCL_EVENT_RECEIVER DEFINITION
  21. *&---------------------------------------------------------------------*
  22. CLASS lcl_event_receiver IMPLEMENTATION.
  23. METHOD hotspot_click.
  24. DATA: ls_list LIKE gt_list.
  25. CLEAR ls_list.
  26. READ TABLE gt_list INTO ls_list INDEX e_row_id.
  27. IF gt_list-sel NE '@TB@'.
  28. ls_list-sel = '@SR@'.
  29. MODIFY gt_list FROM ls_list TRANSPORTING sel WHERE sel NE '@SR@'.
  30. ls_list-sel = '@TB@'.
  31. MODIFY gt_list FROM ls_list INDEX e_row_id TRANSPORTING sel .
  32. ENDIF.
  33. PERFORM frm_ref_alv.
  34. ENDMETHOD.                    "HANDLE_ONF4
  35. ENDCLASS.                    "LCL_EVENT_RECEIVER IMPLEMENTATION
  36. *&---------------------------------------------------------------------*
  37. *&      START-OF-SELECTION
  38. *&---------------------------------------------------------------------*
  39. START-OF-SELECTION.
  40. PERFORM frm_get_data.
  41. PERFORM frm_dsp_data.
  42. *&---------------------------------------------------------------------*
  43. *&      Form  FRM_GET_DATA
  44. *&---------------------------------------------------------------------*
  45. FORM frm_get_data .
  46. DO 10 TIMES.
  47. IF sy-index = 1.
  48. gt_list-sel = '@TB@'.
  49. ELSE.
  50. gt_list-sel = '@SR@'.
  51. ENDIF.
  52. gt_list-val = sy-index.
  53. APPEND gt_list.
  54. ENDDO.
  55. ENDFORM.                    " FRM_GET_DATA
  56. *&---------------------------------------------------------------------*
  57. *&      Form  FRM_DSP_DATA
  58. *&---------------------------------------------------------------------*
  59. FORM frm_dsp_data .
  60. DATA: ls_layo  TYPE lvc_s_layo,
  61. lt_fcat  TYPE lvc_t_fcat,
  62. ls_fcat  TYPE lvc_s_fcat,
  63. lt_event TYPE slis_t_event,
  64. ls_event TYPE slis_alv_event.
  65. ls_layo-zebra      = abap_true.
  66. ls_layo-cwidth_opt = abap_true.
  67. ls_fcat-fieldname = 'SEL'.
  68. ls_fcat-hotspot = 'X'.
  69. ls_fcat-scrtext_l =
  70. ls_fcat-scrtext_m =
  71. ls_fcat-scrtext_s = '选择'.
  72. APPEND ls_fcat TO lt_fcat.
  73. CLEAR ls_fcat.
  74. ls_fcat-fieldname = 'VAL'.
  75. ls_fcat-scrtext_l =
  76. ls_fcat-scrtext_m =
  77. ls_fcat-scrtext_s = '值'.
  78. APPEND ls_fcat TO lt_fcat.
  79. CLEAR ls_fcat.
  80. ls_event-name = slis_ev_caller_exit_at_start.
  81. ls_event-form = slis_ev_caller_exit_at_start.
  82. APPEND ls_event TO lt_event.
  83. * 显示alv列表
  84. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
  85. EXPORTING
  86. i_callback_program = sy-repid
  87. is_layout_lvc      = ls_layo
  88. it_fieldcat_lvc    = lt_fcat
  89. i_save             = 'A'
  90. it_events          = lt_event
  91. TABLES
  92. t_outtab           = gt_list
  93. EXCEPTIONS
  94. program_error      = 1
  95. OTHERS             = 2.
  96. IF sy-subrc NE 0.
  97. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  98. WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  99. ENDIF.
  100. ENDFORM.                    " FRM_DSP_DATA
  101. *&---------------------------------------------------------------------*
  102. *&      Form  CALLER_EXIT
  103. *&---------------------------------------------------------------------*
  104. FORM caller_exit USING u_exit TYPE slis_data_caller_exit.
  105. DATA: ls_f4 TYPE lvc_s_f4,
  106. lt_f4 TYPE lvc_t_f4.
  107. CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
  108. IMPORTING
  109. e_grid = go_alv_grid.
  110. * 设置回车事件
  111. CALL METHOD go_alv_grid->register_edit_event
  112. EXPORTING
  113. i_event_id = cl_gui_alv_grid=>mc_evt_enter
  114. EXCEPTIONS
  115. error      = 1
  116. OTHERS     = 2.
  117. * 设置光标焦点移开被修改单元格后触发事件
  118. CALL METHOD go_alv_grid->register_edit_event
  119. EXPORTING
  120. i_event_id = cl_gui_alv_grid=>mc_evt_modified
  121. EXCEPTIONS
  122. error      = 1
  123. OTHERS     = 2.
  124. SET HANDLER lcl_event_receiver=>hotspot_click FOR go_alv_grid.
  125. ENDFORM.                    "CALLER_EXIT
  126. *&---------------------------------------------------------------------*
  127. *&      Form  FRM_REF_ALV
  128. *&---------------------------------------------------------------------*
  129. FORM frm_ref_alv .
  130. DATA ls_stbl TYPE lvc_s_stbl.
  131. ls_stbl-row = abap_true.
  132. ls_stbl-col = abap_true.
  133. CALL METHOD go_alv_grid->refresh_table_display
  134. EXPORTING
  135. is_stable = ls_stbl.
  136. ENDFORM.                    " FRM_REF_ALV

复制代码

2、程序执行效果:

ALV GRID中实现RadioButton单选按钮相关推荐

  1. 将ALV GRID中改变的值更新到ALV内表中

    首先编辑ALV的CALLER_EXIT事件,在call back的subroutine中做如下处理 CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPO ...

  2. 在alv grid中的列中设置icon图标

    如果想输出红绿灯,其中红路灯那栏的头是不能改变text的,所以要是想自己个性化text就要改用icon输入红绿灯图标 方法是在structure中添加一个field 为 char型 4位长. 然后在 ...

  3. ALV GRID学习笔记----Double Click事件

    10月底的时候进行了BC412课程的培训,课后自己做了一些实验,从今天开始就将这些实验记录下来,以便于以后需要使用的时候能够查询一下!(很遗憾的是公司组织了很多的培训,但是在实际工作中很少能够运到,所 ...

  4. android多个单选按钮互斥使用,在android中使用RadioButton时,要想实现互斥

    [搬运] http://www.cnblogs.com/wt616/archive/2011/06/20/2085531.html RadioButton和CheckBox的区别: 1.单个Radio ...

  5. WPF的ListBox中的RadioButton不能单选问题

    WPF不知道是微软故意弄的还是真的匆忙的推出的产品,在实际开发过程中有很多小问题解决很麻烦. 今天主要说一下ListBox中使用RadioButton的时候里面的RadioButton不能单选!居然成 ...

  6. SAP SM37后台作业结果显示为alv list怎么样可以显示alv grid形式呢?

    即使在ECC600版本中,后台作业结果也是无法以ALV Grid形式体现的. 在R/3版本中,甚至ALV的报表都无法后台运行.可能以后的版本会突破吧.

  7. ABAP--如何在选择屏幕上输出ALV GRID报表

    有些客户希望某些功能性的报表在输出报表内容时,能同时看到选择屏幕上的输入参数,并 希望能反复地输入选择条件进行查询.实现这个功能的办法就是在选择屏幕上输出报表内容. 一般情况下,大家都是直接从SAP的 ...

  8. 抓取报表ALV GRID上的数据 转于elliott

    抓取报表ALV GRID上的数据 在很多开发情况下,我们需要处理sap标准报表程序跑出的数据,很多人会想到内存的处理方法,但是得到的格式不如人意,在google了几天后终于找到了个例子,以下是本人实例 ...

  9. html单选按钮for,HTML如何实现RadioButton单选按钮

    用HTML来实现RadioButton,需要使用input标签,其中type指定为radio,接下来的文章我们就来说一说详细的内容. 我们先来看input标签的格式 注:对于需要选中检索的值,可以利用 ...

最新文章

  1. 【天池直播】图像系列直播第一讲--带你入坑深度学习
  2. 数据结构与算法 / 平衡二叉树(AVL树)
  3. 【产品活动】阿里云GPU云服务器年付5折!阿里云异构计算助推行业发展!
  4. 【ThinkingInC++】66、pointer Stash的使用
  5. 用LVM快照创建虚拟机
  6. Tricks(三十四)—— 判断某一属性列是数值型还是标称型
  7. python plt调整子图间隔
  8. wps中下划线怎么也去不掉_黑头究竟怎么形成的?为什么总是去不掉?那是因为你用错方法...
  9. getopt两个模块getopt 和gun_getopt 的异同
  10. PrintStream 打印流、System 剖析、Java 16 进制转换
  11. mysql查询前一年的第一天_MySQL中查询某一天, 某一月, 某一年的数据代码详解
  12. Java项目演示第23期在线购书商城系统
  13. cf鼠标宏数据大全_两只“轻量、不打孔、右手工学”鼠标,DX30E和魔幻豹ULTRA
  14. 【论文阅读】DeepIM: Deep Iterative Matching for 6D Pose Estimation
  15. Thinkphp资源源码付费下载站网站源码
  16. Mac 系统下VisualVM的安装
  17. SystemVerilog与功能验证
  18. html导航栏点击之后变色,鼠标滑过字体加粗、背景变色的CSS导航栏
  19. Z-score 与 Fisher-Z 的区别
  20. 性能测评:腾讯云轻量服务器4核8G12M带宽流量CPU主频型号

热门文章

  1. 如何为Oracle配置多个监听器
  2. 涨知识!船东提单和货代提单的区别!
  3. 产品经理必须要知道的25个简约设计理念
  4. 微信小程序,你的场景呢?
  5. PMcaff微课堂 | 洋葱淘elya妞,前百度UX Leader:独门创业经验,产品秘籍
  6. 《Linux内核原理与分析》第三周作业
  7. [BZOJ2095]Bridges
  8. 【技术教程】SequoiaDB对接Kafka
  9. 《Access 2007开发指南(修订版)》一一2.2 创建新数据库
  10. RxJava 中的Map函数原理分析