我有一份显示ALV的报告。双击某列后,ALV中的某些字段将变为可自定义。这是通过设置'编辑'该字段的fieldcatalog-row的属性为' X'。
<fs_field_cat_line>-edit = 'X'.
当我设置更新的fieldcatalog时,优化其宽度并刷新ALV
* 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在开始时获取一个新列,可用于选择多行,或者在顶部单击时,选择所有行。
如何禁用此列。刷新后,我不希望出现此列。我试着看一下调试器会发生什么,但我似乎无法找到它。
编辑:在实施下面接受的解决方案后,更改如下所示:
* 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( ).
答案 0 :(得分:3)
根据the documentation,您必须
NO_ROWMARK
标记设置为X
和 SEL_MODE
设置更改为A
或D
。默认' '
被解释为B
,AFAIR会忽略NO_ROWMARK
标记。