SAP ABAP ALV 颜色设置(两个ALV函数例子) 列 行 单元格
@[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函数例子) 列 行 单元格的更多相关文章
- 【ABAP系列】SAP ABAP OOALV 动态设置单元格可否编辑
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP OOALV 动 ...
- easyui datagrid动态设置行、列、单元格不允许编辑
Easyui datagrid 行编辑.列编辑.单元格编辑设置 功能: 动态对datagrid 进行行.列.单元格编辑进行设置不允许编辑. 禁用行编辑: 在编辑方法调用前,对选择的行进行判断,如果不允 ...
- ABAP ALV 颜色设置(行,列,单元格)
BCALV_EDIT_03 http://blog.sina.com.cn/s/blog_a87b19300102who3.html 关于ALV表格颜色,这种需求在项目中会经常用到. 列颜色 列的颜色 ...
- ALV 颜色设置(行,列,单元格)
[转自:https://www.cnblogs.com/mingdashu/p/color_alv.html] BCALV_EDIT_03 http://blog.sina.com.cn/s/blog ...
- ALV报表——ALV颜色设置(三)
目录 一.行 二.列 三.单元格 四.附ALV的颜色代码 一.行:用Layout相关属性设置 代码: *Report ZRFI001_XFL_TEST REPORT ZRFI001_XFL_TEST ...
- [SAP ABAP开发技术总结]ALV
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ALV行 列颜色设置
ALV的颜色设置分为3种:行.列.单元格. 1.列颜色的设置 在 slis_t_fieldcat_alv-emphasize 中,写入需要的颜色代码. Eg: DATA: fc TYP ...
- ALV详解:Function ALV(一)
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- CListCtrl颜色设置
动态改变listctrl 单元格背景及文字颜色 m_listshow.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//插入列 m_listsh ...
随机推荐
- 2019 南京网络赛 B super_log 【递归欧拉降幂】
一.题目 super_log 二.分析 公式很好推出来,就是$$a^{a^{a^{a^{...}}}}$$一共是$b$个$a$. 对于上式,由于指数太大,需要降幂,这里需要用到扩展欧拉定理: 用这个定 ...
- POJ_2533 Longest Ordered Subsequence 【LIS】
一.题目 Longest Ordered Subsequence 二.分析 动态规划里的经典问题.重在DP思维. 如果用最原始的DP思想做,状态转移方程为$DP[i] = max(DP[j] + 1) ...
- lucent,solr,ES比较
|0什么是全文搜索 什么是全文搜索引擎? 百度百科中的定义:全文搜索引擎是目前广泛应用的主流搜索引擎.它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现 ...
- 第一个win32程序
vs2017下自动创建的窗口程序 // win_test.cpp : 定义应用程序的入口点. // #include "framework.h" #include "wi ...
- IdentityServer4是什么
1 什么是IdentityServer4? IdentityServer4是用于ASP.NET Core的OpenID Connect和OAuth 2.0框架. 2 什么是OAuth 2.0? OAu ...
- 《基于Kubernetes舵手集群的设计与实现》
前言 <基于Kubernetes舵手集群的设计与实现>是我的毕业设计项目.本系统采用Kubernetes容器编排.基于Jenkins\Gitlab的CICD技术.EFK日志收集.Prome ...
- 安装mongoDB出现的问题:无法启动
在我的电脑- 管理 - 服务-中会出现一个MongoDB Server的服务,你需要去手动删除这个服务删除指令: 在cmd管理员模式下使用: sc delete MongoDB Server 然后再配 ...
- Dynamics CRM安装教程七:Claims-based认证-内部访问配置
DFS安装配置好后就要开始配置CRM基于内部认证访问的配置,即使用HTTPS在CRM服务器进行访问的设置.在CRM服务器中找到Dynamic CRM部署管理器,开始菜单选择Dynamic CRM部署管 ...
- OAuth2.0理解和用法
现在网络的资料到处都是,很容易搜索到自己想要的答案.但答案通常只能解决自己一部分的问题.如果自己想要有一套自己的解决方案,还得重新撸一遍靠谱. 我需要学下OAuth2.0吗? 没看之前以为OAuth2 ...
- Azure Digital Twins(2)- 在本地使用ADT Explorer 管理数字孪生
本文介绍: 在本地运行ADT Explorer 并连接Azure Digital Twins 实例: 使用 VS CODE DTDL插件开发第一个 模型文件: ADT Explorer的几个基本功能: ...