ABAP屏幕开发 - TABLE CONTROL隐藏列和固定列的实现


一、设置固定列

需求:为了方便对主要关心信息地查看,用户希望TABLE CONTROL左边的一列或者几列在屏幕上固定。针对用户这样子的需求, 我们首先会想到类似与屏幕编辑/可见等字段属性设置,但是此方法行不通。
解决方法:通过设置Table Control自带的属性,定义最左边的某些列不可滚动。在Screen Layout中,双击Table Control的右上角,弹出“表控制”属性,即可设置。如下图所示:

ABAP屏幕开发 - TABLE CONTROL隐藏列和固定列的实现_第1张图片


 

二、隐藏列

需求:隐藏TABEL CONTROL的某一列或者多列,其实针对这样子的需求,我们最常想到的就是通过设置字段属性为ACTIVE或INVISIBLE,经过测试,发现,此方法无效。

解决方法:通过CODING修改tabctrl-cols下的某字段可见长度。

                 代码如下:

DATA: ls_col LIKE LINE OF ztc_500-cols.

LOOP AT ztc_500-cols INTO ls_col WHERE screen-name = 'WA_ADD-KOSTL'.
  IF l_hide IS INITIAL.
    ls_col-vislength = 6.
  ELSE.
    ls_col-vislength = 0.
  ENDIF.
  MODIFY ztc_500-cols FROM ls_col.
ENDLOOP.

添加位置:如下图

ABAP屏幕开发 - TABLE CONTROL隐藏列和固定列的实现_第2张图片

 

双击如上图所示的,标记的MODULE,将代码添加,即可!

 

 

 

 

 

 

 

你可能感兴趣的:(table,隐藏列,control,固定列,设置可见长度)