首页 技术 正文
技术 2022年11月18日
0 收藏 462 点赞 3,011 浏览 2123 个字

@[TOC](设置ALV颜色)
# 前言
淦! 要求花花绿绿的ALV ,那就淦他!

需要的参数和对应颜色放在最后。
稍微改改就能用。

介绍两个常用的ALV函数实现
1.REUSE_ALV_GRID_DISPLAY
2.REUSE_ALV_GRID_DISPLAY_LVC
# 实例
先以LVC 举个例子吧,那另外一个函数就只是参数的问题。

## 列的颜色
列的颜色很简单,在构成ALV字段的FIELDCAT内表中有一个字段是EMPHASIZE,将一个char型4位的颜色代码分配到FIELDCAT内表这个字段即可。

“`bash
LW_FCAT-EMPHASIZE = ‘C710’. “设置字段的颜色 橙色

MODIFY LT_FCAT FROM LW_FCAT
TRANSPORTING EMPHASIZE
WHERE FIELDNAME = ‘ESLRY’.
“`
## 行 和 单元格的颜色
“`bash
定义好结构(以LVC函数为例子)
* 增加颜色字段,。
TYPES : BEGIN OF TY_ALV.
INCLUDE TYPE z06pms260_alv.
TYPES : CLR TYPE CHAR4, ” 控制行颜色。
CELLCOLOR TYPE SLIS_T_SPECIALCOL_ALV, “控制单元格颜色
END OF TY_ALV.
数据内表就变成了 DEEP 结构了, ALV函数是可以识别的.
DATA: GT_ALV TYPE TABLE OF TY_ALV,
GS_ALV TYPE TY_ALV.
*SLIS_T_SPECIALCOL_ALV 参数的含义
*FNAME 告诉我们你需要设置的是哪个字段,如果为空,然后直接在 COLOR 中设置颜色,就是整行设置为这个颜色.如果具体到某个单元格,必须指定是哪个字段.
*COLOR 用来设置颜色的.
*NOKEYCOL 设置为关键列的一些字段,我们的颜色设置可能被覆盖.通过这个字段的设置,可以避免被关键列的颜色被覆盖.
“`
1.行颜色,在构成ALV数据的内表中,添加一个char4的字段(CLR),用来记录颜色代码(注释部分)
2.单元格颜色的设置与行颜色设计基本一致
在构成ALV数据的内表中,添加一个内表 CellColor,用来记录颜色代码,需要设置颜色的字段名
“`bash
* if gS_alv-ZTLSJ > ‘3’ . ” 如果停留时间大于 3 该行标红。
* gS_alv-CLR = ‘C610’.
* endif.
if gS_alv-ZTLSJ > ‘3’ . ” 如果停留时间大于 3 该单元格标红。

L_CELLCOLOR-FIELDNAME = ‘ZTLSJ’. ” 需要变色的字段
L_CELLCOLOR-COLOR-COL = 6. “对应C610 红色,参考最后颜色图”
L_CELLCOLOR-COLOR-INT = 1.
L_CELLCOLOR-COLOR-INV = 0.
APPEND L_CELLCOLOR TO gS_alv-CELLCOLOR.
endif.

MODIFY GT_ALV FORM GS_ALV INDEX LV_TABIX.
“`
内表中定义完成了,为LAYOUT设置对应得字段。
“`bash
* ls_layout-INFO_FNAME = ‘CLR’. ” 设置行颜色
ls_layout-CTAB_FNAME = ‘CELLCOLOR’. ” 设置单元格颜色
“`

“`bash
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY_LVC’
EXPORTING
i_callback_program = sy-repid
is_layout_lvc = ls_layout “行跟单元格
it_fieldcat_lvc = lt_fcat “列的颜色定义在这个内表中
i_callback_user_command = ‘FRM_US_COMM’
i_save = ‘A’
TABLES
t_outtab = gt_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
“`
看看效果(这里不需要用到行设置,注释了代码)

# 颜色表及需要的参数
颜色对应表

列颜色,在FIELDCAT中的参数EMPHASIZE 设置颜色代码。

行在内表中定义一个CHAR4长度的字段,LAYOUT设置属性。

单元格就不同了

1.REUSE_ALV_GRID_DISPLAY

**LVC_T_SCOL**
“`bash
TYPES: BEGIN OF TY_ZEMP.
INCLUDE STRUCTURE ZEMP_TEST.
TYPES: CLR TYPE CHAR4,
CELLCOLOR TYPE LVC_T_SCOL, “单元格颜色
END OF TY_ZEMP.
“`

2.REUSE_ALV_GRID_DISPLAY_LVC
**SLIS_T_SPECIALCOL_ALV**
“`bash
* 增加颜色字段,。
TYPES : BEGIN OF TY_ALV.
INCLUDE TYPE z06pms260_alv.
TYPES : CLR TYPE CHAR4, ” 控制行颜色。
CELLCOLOR TYPE SLIS_T_SPECIALCOL_ALV, “控制单元格颜色
END OF TY_ALV.
“`

CSDN地址:  https://blog.csdn.net/Pegasus666/article/details/116792441?spm=1001.2014.3001.5501。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,084
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,559
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,408
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,181
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,818
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,901