ABAP ALV LVC三种选择框设置方式

REUSE_ALV_GRID_DISPLAY_LVC有三种方式设置选择框

第一种:fieldcat上设置checkbox

1、 fieldcat和layout声明
在这里插入图片描述
2、定义宏
ABAP ALV LVC三种选择框设置方式_第1张图片
也可以不定义宏来做,反正就是fieldcat有一个checkbox字段,设置为X就行了
ABAP ALV LVC三种选择框设置方式_第2张图片

3、设置fieldcat
ABAP ALV LVC三种选择框设置方式_第3张图片
这里SEL是ALV内表的一个字段,用来指定选择框列的
在这里插入图片描述
ABAP ALV LVC三种选择框设置方式_第4张图片
4、调用REUSE_ALV_GRID_DISPLAY_LVC

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      i_callback_pf_status_set = gc_callback_satus
      i_callback_user_command  = gc_callback_user_command
*     it_events                = gv_events
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = git_fcat
      i_save                   = 'A'
    TABLES
      t_outtab                 = gt_alv
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.

第二种:layout设置box_fname

1、变量声明
在这里插入图片描述
2、设置layout
ABAP ALV LVC三种选择框设置方式_第5张图片
此时fieldcat就别再设置checkbox了,不然选择框就多一个了。

3、调用REUSE_ALV_GRID_DISPLAY_LVC

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      i_callback_pf_status_set = gc_callback_satus
      i_callback_user_command  = gc_callback_user_command
*     it_events                = gv_events
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = git_fcat
      i_save                   = 'A'
    TABLES
      t_outtab                 = gt_alv
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.

第三种:layout设置sel_mode

1、变量声明
在这里插入图片描述
在这里插入图片描述

2、设置layout
ABAP ALV LVC三种选择框设置方式_第6张图片
SEL_MODE有四种取值A,B,C或D
A:多行多列选择。有选择块,通过前面的选择块选择行,但不可以选择单元格区域。ABAP ALV LVC三种选择框设置方式_第7张图片
B:单行选择。没有前面的选择块,单击任一单元格,就选中单元格所在的行。
ABAP ALV LVC三种选择框设置方式_第8张图片
C:多行选择。没有选择块,可以拖动选择多行。
ABAP ALV LVC三种选择框设置方式_第9张图片
D:单元格区域选择,可以按住鼠标拖动选择单元格区域,也可以通过选择块选择多行。
ABAP ALV LVC三种选择框设置方式_第10张图片

注意参数 box_fname 不能赋值,否则sel_mode 不起作用。

3、调用REUSE_ALV_GRID_DISPLAY_LVC

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = gt_fieldcat
      i_callback_user_command  = gc_f_user_command      "F_USER_COMMAND
      i_callback_pf_status_set = gc_f_set_status        "F_SET_STATUS
      i_save                   = gc_mode_a              "A
      it_events                = gt_events
    TABLES
      t_outtab                 = gt_data
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.

你可能感兴趣的:(ABAP基础,sap,abap,alv)