代码之家  ›  专栏  ›  技术社区  ›  Erik

如何在ALV中禁用行选择器?

  •  2
  • Erik  · 技术社区  · 8 年前

    我有一份报告显示ALV。双击某个列后,ALV中的某些字段可以自定义。这是通过将列的fieldcatalog行的“edit”属性设置为“X”来实现的。

    <fs_field_cat_line>-edit = 'X'.
    

    * setting fieldcatalog
    lo_alv_grid->set_frontend_fieldcatalog( it_fieldcatalog = lt_field_catalog ).
    
    * Optimizing column width
    ls_layout-cwidth_opt = 'X'.
    lo_alv_grid->set_frontend_layout( is_layout = ls_layout ).
    
    * refresh ALV
    lo_alv_grid->refresh_table_display( ).
    

    ALV在开始时获取一个新列,该列可用于选择多行,或者在顶部单击时,选择所有行。

    'select all'-column

    实施以下公认的解决方案后,变化如下:

    * setting fieldcatalog
    lo_alv_grid->set_frontend_fieldcatalog( it_fieldcatalog = lt_field_catalog ).
    
    * Optimizing column width
    ls_layout-cwidth_opt = 'X'.
    
    * Disabling selection column
    ls_layout-sel_mode = 'A'.
    ls_layout-no_rowmark = 'X'.
    
    * setting layout
    lo_alv_grid->set_frontend_layout( is_layout = ls_layout ).
    
    * refresh ALV
    lo_alv_grid->refresh_table_display( ).
    
    1 回复  |  直到 4 年前
        1
  •  3
  •   Suncatcher    4 年前

    根据 the documentation ,你必须

    • 设置 NO_ROWMARK X
    • 更改 SEL_MODE A D . 默认值 ' ' 被解释为 B 旗帜
    推荐文章