需求:
实现科目对照一对多,多对一及一对一关系的展示,其中多的一方需进行合并展示,即如下图:
实现步骤:
1.根据超类:CL_GUI_ALV_GRID,创建新的类(可以直接在代码中进行创建,或者使用SE24进行创建)
使用SE24进行创建(本人习惯)
创建新方法如下图:
Z_SET_MERGE_HORIZ 水平合并:
参数:
inporting row
changing tab_col_merge(alv控制:列布局)
METHOD z_set_merge_horiz.
"水平合并
FIELD-SYMBOLS <fs_cols> TYPE lvc_s_co01.
FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.
DATA outputlen TYPE i.
SORT tab_col_merge.
LOOP AT tab_col_merge ASSIGNING <fs_cols>.
IF <fs_cols>-col_id LE 0.
CONTINUE.
ENDIF.
IF <fs_cols>-outputlen LE <fs_cols>-col_id.
CONTINUE.
ENDIF.
outputlen = <fs_cols>-outputle