在ALV的输出单元格中着色

在网上搜了一下,这样的信息不是很多,根据找到的相关知识,我自己尝试做了一下:

FORM SUB_FILL_COLOR.
LOOP AT I_LIST INTO WA_ITAB.
I_INDEX = SY-TABIX .
CLEAR WA_ITAB2.
MOVE-CORRESPONDING WA_ITAB TO WA_ITAB2.
PERFORM F_MODIFY_COLOR USING 'WERKS' CHANGING WA_ITAB2.
PERFORM F_MODIFY_COLOR USING 'MATNR' CHANGING WA_ITAB2.
PERFORM F_MODIFY_COLOR USING 'MAKTX' CHANGING WA_ITAB2.
PERFORM F_MODIFY_COLOR USING 'MATKL' CHANGING WA_ITAB2.
MODIFY I_LIST FROM WA_ITAB2 INDEX I_INDEX.
ENDLOOP.
ENDFORM.

FORM F_MODIFY_COLOR USING U_FIELDNAME TYPE LVC_FNAME
CHANGING USE_ITAB LIKE I_LIST.
DATA :
L_RND_VALUE TYPE INTEGER2,
LS_TABCOLOR TYPE LVC_S_SCOL.
* Random value
CALL FUNCTION 'RANDOM_I2'
EXPORTING
RND_MIN = 0
RND_MAX = 3
IMPORTING
RND_VALUE = L_RND_VALUE.

CLEAR LS_TABCOLOR.
LS_TABCOLOR-FNAME = U_FIELDNAME.
CASE L_RND_VALUE.
WHEN 0.
LS_TABCOLOR-COLOR-COL = 1. " Blue.
LS_TABCOLOR-COLOR-INT = 0.
LS_TABCOLOR-COLOR-INV = 0.
WHEN 1.
LS_TABCOLOR-COLOR-COL = 3. " Yellow.
LS_TABCOLOR-COLOR-INT = 0.
LS_TABCOLOR-COLOR-INV = 0.
WHEN 2.
LS_TABCOLOR-COLOR-COL = 5. " Green.
LS_TABCOLOR-COLOR-INT = 0.
LS_TABCOLOR-COLOR-INV = 0.
WHEN 3.
LS_TABCOLOR-COLOR-COL = 6. " Red.
LS_TABCOLOR-COLOR-INT = 0.
LS_TABCOLOR-COLOR-INV = 0.
ENDCASE.
INSERT LS_TABCOLOR INTO TABLE USE_ITAB-TABCOLOR.
ENDFORM. " F_MODIFY_COLOR
*-----------------------------------------------*
* Fill Layout
L_S_LAYOUT-COLTAB_FIELDNAME = 'TABCOLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值