簡體   English   中英

ALV Grid 中的多行選擇

[英]Multiple selection of rows in ALV Grid

我需要在 ALV 網格中啟用多行選擇(尤其是REUSE_ALV_GRID_DISPLAY )。 目前到 select 不止一行,我使用Ctrl + select 行。 我們還有其他方法可以使用嗎? 我在 ECC 上使用 ABAP。

在創建 ALV 期間需要 SEL_MODE 參數。

  • A 多列、多行,帶有選擇按鈕。
  • B 簡單選擇、列表框、單行/列
  • C 多排無按鍵
  • D 多排帶按鈕和 select 所有 ICON

資料來源: https://keremkoseoglu.wordpress.com/2009/06/29/cl_gui_alv_grid-line-selection-modes-in-abap/

使用REUSE_ALV_GRID_DISPLAY ,您需要在 ALV 表中有一個專用字段來包含是否選擇了行,並且框架將理解 ALV 必須啟用“多行選擇”功能:

TYPES: BEGIN OF ty_alv_line,
         selected TYPE abap_bool,
         carrid   TYPE scarr-carrid,
         carrname TYPE scarr-carrname,
       END OF ty_alv_line.
DATA(layout) = VALUE slis_layout_alv(
    box_fieldname = 'SELECTED' ).
SELECT 'X' AS selected, carrid, carrname FROM scarr INTO TABLE @DATA(scarr_table).
DATA(field_catalog) = VALUE slis_t_fieldcat_alv(
    ( col_pos = 1 fieldname = 'SELECTED' tech = 'X' )
    ( col_pos = 2 fieldname = 'CARRID'   ref_fieldname = 'CARRID'   ref_tabname = 'SCARR' )
    ( col_pos = 3 fieldname = 'CARRNAME' ref_fieldname = 'CARRNAME' ref_tabname = 'SCARR' ) ).
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    is_layout   = layout
    it_fieldcat = field_catalog
  TABLES
    t_outtab    = scarr_table
  EXCEPTIONS
    OTHERS      = 1.

注意:該示例沒有演示對選定行的處理(可以通過添加自定義按鈕和子程序來在按下時處理); 上面的語法至少需要 ABAP 7.40。

REUSE_ALV_GRID_DISPLAY 多行選擇

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM