关于ALV表格颜色,这种需求在项目中会经常用到。

  • 列颜色

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

1 LW_FCAT-EMPHASIZE = 'C710'. "设置字段的颜色 2 3 MODIFY IT_FIELDCAT FROM LW_FCAT 4 TRANSPORTING EMPHASIZE 5 WHERE FIELDNAME = 'ESLRY'.
  • 行颜色

1. 在构成ALV数据的内表中,添加一个char型4位的字段(CLR),用来记录颜色代码

1 TABLES ZEMP_TEST.
2
3 TYPES: BEGIN OF TY_ZEMP. 4 INCLUDE STRUCTURE ZEMP_TEST. 5 TYPES: CLR TYPE CHAR4,"可以控制行颜色 6 END OF TY_ZEMP. 7 8 DATA: IT_ZEMP TYPE STANDARD TABLE OF TY_ZEMP, 9 IW_ZEMP TYPE TY_ZEMP.

2. 循环内表,设置颜色代码

1   LOOP AT IT_ZEMP INTO IW_ZEMP.
2 "员工编号为‘3的行,颜色为红色 3 IF IW_ZEMP-EMPID = '3'. 4 IW_ZEMP-CLR = 'C610'. 5 MODIFY IT_ZEMP FROM IW_ZEMP. 6 CLEAR IW_ZEMP. 7 ENDIF. 8 ENDLOOP.

3. LAYOUT结构中INFO_FIELDNAME的值指定为 CLR

  IW_LAYOUT-INFO_FIELDNAME = 'CLR'.  "行颜色代码的字段
  • 单元格颜色

单元格颜色的设置与行颜色设计基本一致

1. 在构成ALV数据的内表中,添加一个内表 CellColor,用来记录颜色代码,需要设置颜色的字段名

1 TYPES: BEGIN OF TY_ZEMP.
2 INCLUDE STRUCTURE ZEMP_TEST. 3 TYPES: CLR TYPE CHAR4, 4 CELLCOLOR TYPE LVC_T_SCOL, "单元格颜色 5 END OF TY_ZEMP.

CellColor的结构:FNAME        ALV 控制: 内部表字段的字段名称         

COLOR        ALV 控制: 颜色代码     COLOR是一个结构:COL      ALV 控制: 颜色      

INT      ALV 控制: 强化    1/0                                    

INV      ALV 控制: 相反    1/0    设置颜色是前景,或者是背景         

NOKEYCOL  ALV 控制: 覆盖码颜色

2. 循环内表,设置颜色代码

 1   LOOP AT IT_ZEMP INTO IW_ZEMP.
 2
 3      "员工编号为‘3’的行,颜色为红色
 4      IF IW_ZEMP-EMPID = '3'.
 5        IW_ZEMP-CLR = 'C610'.
 6
 7        MODIFY IT_ZEMP FROM IW_ZEMP.
 8        CLEAR IW_ZEMP.
 9
10      ENDIF.
11
12      IF IW_ZEMP-EMPID = '2'.
13        IW_CELLCOLOR-FNAME = 'ENAME'.
14        "员工编号为‘2’的行的‘ENAME’字段颜色为 黄色
15        IW_CELLCOLOR-COLOR-COL = 3.
16        IW_CELLCOLOR-COLOR-INT = 1.
17        IW_CELLCOLOR-COLOR-INV = 0.
18
19        APPEND IW_CELLCOLOR TO IW_ZEMP-CELLCOLOR.
20        MODIFY IT_ZEMP FROM IW_ZEMP.
21        CLEAR IW_ZEMP.
22
23      ENDIF.
24   ENDLOOP.

3. LAYOUT结构中COLTAB_FIELDNAME的值指定为CELLCOLOR

  IW_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'. "单元格颜色内表字段

最后在调用ALV函数时,设置layout,fieldcat参数

     IS_LAYOUT                         = IW_LAYOUTIT_FIELDCAT                       = IT_FIELDCAT
  • ALV工具栏

可以自定义工具栏,或者添加标准ALV工具栏,然后去除一些不需要的功能,这样可以保留标准工具栏的功能

 1   DATA:BEGIN OF TAB OCCURS 0,  2 FCODE LIKE RSMPE-FUNC,  3 END OF TAB.  4  5 TAB-FCODE = '&OL0'.APPEND TAB.  6 TAB-FCODE = '&OAD'.APPEND TAB.  7 TAB-FCODE = '&AVE'.APPEND TAB.  8  9 SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL' 10 EXCLUDING TAB IMMEDIATELY.
  • 求和
LW_FCAT-DO_SUM = 'X'.  "立即求和,只有I,F,P类型的列可以求和

----------------------------------------------------------

运行效果如下:

在SE38环境下的程序名输入栏输入’DEMO*’后按F4,你可以查到SAP所有的DEMO示例程序,会学到很多ABAP功能的实现方法,

输入’BCALV*’后按F4,你可以查到很多ALV示例程序。

附:ALV的颜色代码:http://blog.csdn.net/wren2004/article/details/3941551

  

ABAP ALV 颜色设置(行,列,单元格)相关推荐

  1. sap abap alv 实现某行,单元格可编辑与不可编辑 REUSE_ALV_GRID_DISPLAY_LVC

    在使用ALV显示列表的过程中,我们可以使用IT_FIELDCAT参数设置某一个字段的可编辑状态.但是,要设置具体的单元格的可编辑状态对于对ALV不是很了解的人来说是一个头大的问题. 具体单元格可编辑状 ...

  2. Python 使用pandas设置整列单元格格式

    Python 使用pandas设置整列单元格格式 import pandas as pdfile_name1 = 'Excel文件路径'data = pd.read_excel(file_name1) ...

  3. EasyExcel设置特定单个单元格(颜色)样式

    原文链接出自:easyExcel设置单个单元格(颜色)样式 背景:需求是使用excel设置目标单元格的样式(颜色),但我之前没有学过easyExcel,在网上找资料的时候,发现有关easyExcel相 ...

  4. html5设置单元格行高,单元格的行高怎么设置 EXCEL文档怎么统一设置行高

    我要把有几行设置为同样的高度,可是一行一行的拉,太慢了. 在Excel中,如何设置表格最合适的行高.列宽? EXCEL中的单元格行高不够怎么调整可以自动调整,根据字的内容来调整: 请问怎么统一设置EX ...

  5. Excel如何把一列单元格内多行数据合并为一行

    今天跟大家分享一下Excel如何把一列单元格内多行数据合并为一行 1.打开Excel文件,如下图我们想要将这每列数据合并到一个单元格中. 2.首先我们选中数据单元格区域 3.然后点击下图选项(Exce ...

  6. C# NPOI 设置(.xlsx) 【单元格填充】以及【字体颜色】

    C# NPOI 设置(.xlsx) [单元格填充]以及[字体颜色] 写在前面: 因为我需要用到NPOI处理.xlsx文件,需要设置单元格填充及字体颜色,期间网上搜索的时候很麻烦,结果五花八门,提炼一下 ...

  7. 认识Excel的第三天(字数满格自动换行、插入一行/列单元格、修改边框样式)

    1.很多时候会发现在一个单元的写着写着就超出去了,并且遮挡下一单元格或者只显示部分内容,对于字数较少可以拖一下单元格,将单元格拉长,但是对于字数较多,这种情况就不太适合了.下面就介绍一种方法就是字数满 ...

  8. html表格自动变色,如何设置实现Excel单元格自动变色?动图演示更详细

    同事发来了一份Excel表格文件,让你将单元格中的特殊数据进行颜色标注,面对一长串的数据,如果没有快捷技巧,你是否感觉力不从心?今天小编就来支招,给大家介绍一个方法,可以让单元格自动"变色& ...

  9. Excel合并多列单元格并自动换行

    Excel合并多列单元格并自动换行 例:需要合并D9,E9,F9,G9三列,合并后D9,E9,F9,G9列内容换行 至H9 第一:设置H列自动换行 解释:但需要将单元格格式里设置"自动换行& ...

最新文章

  1. macOS完全卸载Android Studio方法
  2. 物联网数据库需求——写入快,分析能力强
  3. 化工热力学补考成功,几天没有头脑了,赶紧赏自己几题Leetcode动态规划算法最长系列
  4. 汇编语言笔记(一):基础
  5. kafka分区与分组原理_Kafka工作原理
  6. java 铁路的运费与路程_Java语言程序设计2(16)
  7. Java-java.io.BufferedInputStream
  8. 为什么我劝你放弃了Restful API?
  9. 神器octotree
  10. 【数据挖掘】2022年深信服科技机器学习工程师笔试
  11. 前端获取文件的MD5值
  12. CentOS 7超详细安装与网络配置
  13. ASK、OOK、FSK、GFSK 学习
  14. PQ分区魔术师图解教程
  15. 一鸣心所向:数字营销中的智商、逆商和情商
  16. python计算决策树误差_《统计学习方法》第五章决策树 练习题解答
  17. 微软常用运行库合集(3264位)
  18. 亿图图示甘特图 开始日期和结束日期注意事项
  19. 如何实现汇川PLC和工业机器人的协议解析与数据采集?
  20. 云计算的认识和看法_我的关于云计算的看法和认识

热门文章

  1. 为自己的网站添加RSS功能(转载)
  2. 我司那产品经理丨第三期
  3. 思必驰携手博泰,共创智能汽车新声代
  4. 最大团问题-分支界限法
  5. 一文了解自然语言处理神经史(上)
  6. 一次线上redis报障处理过程
  7. 备忘:C++基础 -- 数据类型的学习总结
  8. 转:如何提高自己的归纳总结能力?
  9. 王超:奇虎360MongoDB
  10. ios_随手篇3_关于宏的使用