@[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. 这个Bug的排查之路,真的太有趣了。

    这是why哥的第 92 篇原创文章 在<深入理解Java虚拟机>一书中有这样一段代码: public class VolatileTest {    public static volat ...

  2. Java并发编程之锁机制

    锁分类 悲观锁与乐观锁 悲观锁认为对于同一个数据的并发操作,一定是会发生修改的,哪怕没有修改,也会认为修改.因此对于同一个数据的并发操作,悲观锁采取加锁的形式.悲观的认为,不加锁的并发操作一定会出问题 ...

  3. 通俗地理解面向服务的架构(SOA)以及微服务之间的关系

    SOA是一种软件的应用架构方法,它基于面向对象,但又不是面向对象,整体上是面向服务的架构.SOA由精确的服务定义.松散的构件服务组成,以及业务流程调用等多个方面形成的一整套架构方法. 这话是不是听起来 ...

  4. DAOS 分布式异步对象存储|数据平面

    DAOS 通过两个紧密集成的平面进行运转.数据平面处理繁重的运输操作,而控制平面负责进程编排和存储管理,简化数据平面的操作. 模块接口 I/O 引擎支持一个模块接口,该接口允许按需加载服务器端代码.每 ...

  5. Clang Static Analyzer-使用手册-编写Checker框架

    Clang Static Analyzer-使用手册-编写Checker Checker是这个工具的灵魂 有了checker才可以检查你的代码 相当于就是CSA通过checker定义的检查方法去检查代 ...

  6. RabbitMQ 入门 (Go) - 7. 数据持久化(下)【完】

    数据库 我使用的是 PostgreSQL. 使用的驱动是 github.com/lib/pq 这个网址 https://pkg.go.dev/github.com/lib/pq 是官方文档. 创建数据 ...

  7. HTML(二):HTML常用标签(上)

    标签语义 学习标签是有技巧的,重点是记住每个标签的语义.简单理解就是指标签的含义,即这个标签是用来干嘛的. 根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更清晰. 标题标签<h ...

  8. 中小型前端团队代码规范工程化最佳实践 - ESLint

    前言 There are a thousand Hamlets in a thousand people's eyes. 一千个程序员,就有一千种代码风格.在前端开发中,有几个至今还在争论的代码风格差 ...

  9. java面试一日一题:请讲下对mysql的理解

    问题:请讲下对mysql的理解 分析:该问题主要考察对mysql的理解,基本概念及sql的执行流程 回答要点: 主要从以下几点去考虑, 1.mysql的整体架构? 2.mysql中每一个组件的作用? ...

  10. MQ 入门实践

    MQ Message Queue,消息队列,FIFO 结构. 例如电商平台,在用户支付订单后执行对应的操作: 优点: 异步 削峰 解耦 缺点 增加系统复杂性 数据一致性 可用性 JMS Java Me ...