@[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。

SAP ABAP ALV 颜色设置(两个ALV函数例子) 列 行 单元格的更多相关文章

  1. 【ABAP系列】SAP ABAP OOALV 动态设置单元格可否编辑

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP OOALV 动 ...

  2. easyui datagrid动态设置行、列、单元格不允许编辑

    Easyui datagrid 行编辑.列编辑.单元格编辑设置 功能: 动态对datagrid 进行行.列.单元格编辑进行设置不允许编辑. 禁用行编辑: 在编辑方法调用前,对选择的行进行判断,如果不允 ...

  3. ABAP ALV 颜色设置(行,列,单元格)

    BCALV_EDIT_03 http://blog.sina.com.cn/s/blog_a87b19300102who3.html 关于ALV表格颜色,这种需求在项目中会经常用到. 列颜色 列的颜色 ...

  4. ALV 颜色设置(行,列,单元格)

    [转自:https://www.cnblogs.com/mingdashu/p/color_alv.html] BCALV_EDIT_03 http://blog.sina.com.cn/s/blog ...

  5. ALV报表——ALV颜色设置(三)

    目录 一.行 二.列 三.单元格 四.附ALV的颜色代码 一.行:用Layout相关属性设置 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST ...

  6. [SAP ABAP开发技术总结]ALV

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. ALV行 列颜色设置

    ALV的颜色设置分为3种:行.列.单元格.   1.列颜色的设置   在 slis_t_fieldcat_alv-emphasize 中,写入需要的颜色代码.   Eg:   DATA: fc TYP ...

  8. ALV详解:Function ALV(一)

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. CListCtrl颜色设置

    动态改变listctrl 单元格背景及文字颜色 m_listshow.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//插入列 m_listsh ...

随机推荐

  1. python之routes入门

    一.入门 from routes import Mapper map = Mapper() # 创建一个mapper()路由实例对象 # connect注册路由信息 # 路由名称'zbj', 路径是 ...

  2. 热更新应用--热补丁Hotfix学习笔记

    一.热补丁简介 热补丁主要是用于将纯C#工程在不重做的情况下通过打补丁的形式改造成具备lua热更新功能工程,主要是让原来脚本中Start函数和Update函数等函数代码块重定向到lua代码. 二.第一 ...

  3. IP Networks UVA - 1590

     Alex is administrator of IP networks. His clients have a bunch of individual IP addresses and he de ...

  4. Day13_72_类锁

    类锁 * 对象锁(synchronized method{})和类锁(static sychronized method{})的区别 - 对象锁也叫实例锁,对应synchronized关键字,当多个线 ...

  5. NoSQL & Redis 介绍、缓存穿透 & 击穿 & 雪崩

    1. NoSql 简介 2. Redis 简介 2.1 Redis 的起源 2.2 缓存过期 & 缓存淘汰 3. 缓存异常 1)缓存穿透 2)缓存击穿 3)缓存雪崩 4)总结 1. NoSQL ...

  6. 基于MVC框架的JavaWeb网站开发demo项目(JSP+Servlet+JavaBean)

    1.环境配置 Windows10+Eclipse2020+jdk8+Tomcat9+MySQL8+Navicat10 2.需求分析 ①用户登录注册注销(查找.增加) ②显示用户列表(查找) ③显示用户 ...

  7. 01- web测试快速入门

    web测试与APP测试最非常重要的两个测试种类.web端指的就是在浏览器页面的测试. 你测试的软件通常是两种结构的,B/S架构与C/S架构. B/S架构:Browser/Server 浏览器与服务器模 ...

  8. 关于Oracle 数据库使用dba_tables或者all_tables或者user_tables统计数据时,与直接查询表统计时数据不一致的记录

    1. 今天写代码发现这个问题,这里记录一下, 不一致的原因是因为  dba_tables .all_tables.user_tables 不是实时的反应表的数据的,所以需要在查询统计之前对表进行手动分 ...

  9. 【小技巧】Windows 小技巧

    快捷键: 1.Win7窗口最大化和最小化快捷键 最大化:window+↑ 最小化:window+↓

  10. Xposed学习三:基石

    在上一篇我们留下问题:handleLoadPackage如何生效即在何时被执行. 先看XposedBridge.class的main(该函数是在appruntime.start函数中替换原先zygot ...