行颜色及单元格颜色 的设置需要在ALV的显示内表中设置两个字段:
然后在布局中设置:
最后在ALV显示之前根据需求进行颜色的设定:
对于 列颜色 的设置就比较简单了,直接在gt_fieldcat中做处理即可:
另外附上SAP的颜色编码:SAP中的颜色编码是由4位Cxyz组成的
C:color的简写,颜色编码均以C开头
x:标准色码,SAP中一共有7个标准色
y:反转颜色,启用/关闭 1/0
z:增强颜色,启用/关闭 1/0
标准色码一览表
WRITE:/00 ITAB1-MATNR COLOR = N,/05 ITAB1-NAME COLOR = N,
/10 ITAB1-MONTH COLOR = N,
你这是ALV里面的fieldcat哈
你写的也没错
把注释行恢复
edit那个改成 &2
后面的&1,&2.都+2
不过一般也就一个chebox
checkbox没必要给一个&X
要不然后面调用宏的时候
每一列多一个值
给你看看我写的
DEFINE setfieldcat.l_pos = l_pos + 1.
wa_fieldcat-col_pos = l_pos.
wa_fieldcat-fieldname = &1.
wa_fieldcat-scrtext_l = &2.
wa_fieldcat-scrtext_m = &2.
wa_fieldcat-scrtext_s = &2.
wa_fieldcat-just = &3.
if wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-no_zero = 'X'.
endif.
if wa_fieldcat-col_pos = 1.
wa_fieldcat-edit = 'X'. " 可编辑
wa_fieldcat-checkbox = 'X'. "单选框
wa_fieldcat-hotspot = 'X'.
endif.
if wa_fieldcat-col_pos = 2.
wa_fieldcat-emphasize = 'C310'. "列的颜色
endif.
if wa_fieldcat-fieldname eq 'ICON'.
wa_fieldcat-icon = 'X'.
elseif wa_fieldcat-fieldname eq 'SYMBOL'.
wa_fieldcat-symbol = 'X'.
endif.
append wa_fieldcat to gt_fieldcat.
clear: wa_fieldcat.
END-OF-DEFINITION.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)