ALV Color-颜色

2024-05-11 10:12
文章标签 颜色 color alv

本文主要是介绍ALV Color-颜色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

实战

        列颜色

        行颜色

         单元格颜色

前言

        在ABAP ALV中,Color颜色设置是一种增强列表显示效果的重要手段,可以用来突出显示特定行、列或单元格,以吸引用户注意或传达数据的特定状态。

        颜色设置中有优先级顺序,他们是单元格->行->列,即若同时使用了上面的三种更改颜色的方法,则列的颜色会被行的颜色覆盖掉,而行的颜色又会被单元格的颜色覆盖掉,最终只会显示出单元格的颜色。
        如果这列被设置为关键列,就是gs_fieldcat-KEY = 'X' ,那么颜色设置就不会起作用。

实战

        列颜色

        直接设置字段列的fieldcat-emphasize属性;
                 gs_fieldcat-emphasize = 'C310'.

        行颜色

        ALV中的每行数据颜色是通过Layout来控制的。需要在显示输出内表结构中增加一列字段,用来存储数据行的颜色。
            gs_layout-info_fieldname = 'COLOR'.

        ALV中的颜色是由4位数组成:'C'+COL+INT+INV

        参数结构如下:

*** Structure for colors
types: begin of slis_color,col type i,int type i,inv type i,end of slis_color.

        详细解释:

                第1位:固定取值C;
                第2位-COL:颜色值,取值为0~7;

                第3位-INT:高亮,即颜色是否加深,取值为0、1;(1表示加深显示)
                第4位-INV:颜色是否反转,即颜色是作用在背景上,还是作用在输出字符上,取值上为0、1(为1时表示设置的是前景色,即输出字符本身的颜色,好像只有在第3位为0时才有效?) 

        颜色值测试表:

        完整代码:

TYPE-POOLS:slis.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: gs_layout TYPE slis_layout_alv.DATA:BEGIN OF gt_data OCCURS 0,val1(4),"颜色值val2(4),"颜色值color(4),"用来存储行颜色END OF gt_data.START-OF-SELECTION.PERFORM f_inital.DEFINE f_fdcat.clear gt_fieldcat.gt_fieldcat-fieldname = &1.gt_fieldcat-seltext_l = &2.append gt_fieldcat.END-OF-DEFINITION.f_fdcat 'VAL1' '行颜色值'.f_fdcat 'VAL2' '行颜色值'.gs_layout-info_fieldname = 'COLOR'." 指定哪一列用来作为行颜色的列CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTINGit_fieldcat = gt_fieldcat[]is_layout   = gs_layoutTABLESt_outtab    = gt_data.FORM f_inital .DATA: c1,c2,c3.DO 8 TIMES.c1 = sy-index - 1.DO 2 TIMES.c2 = sy-index - 1.DO 2 TIMES.c3 = sy-index - 1.CONCATENATE 'C' c1 c2 c3 INTO gt_data-color.gt_data-val1 = gt_data-color.gt_data-val2 = gt_data-color.APPEND gt_data.ENDDO.ENDDO.ENDDO.
ENDFORM.

         单元格颜色

         每个单元格的颜色也是可以单独进行设置的,当然既然可以给单元格设置颜色,则整列相同颜色也是可以采用此方式来设置的。
        gs_layout-coltab_fieldname = 'COLORTABLE'

        展示效果:

        完整代码:

TYPE-POOLS:slis.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: gs_layout TYPE slis_layout_alv.DATA:BEGIN OF gt_data OCCURS 0,val1(40),"颜色值val2(40),"颜色值val3(40),colortable TYPE slis_t_specialcol_alv, "每行中的单元格颜色内表,可对多个单元格进行不同颜色设置END OF gt_data.
"每行中单元格颜色列表
DATA: gt_color TYPE slis_t_specialcol_alv WITH HEADER LINE.START-OF-SELECTION.PERFORM f_inital.DEFINE def_fdcat.clear gt_fieldcat.gt_fieldcat-fieldname = &1.gt_fieldcat-seltext_l = &2.append gt_fieldcat.END-OF-DEFINITION.def_fdcat 'VAL1' '颜色值'.def_fdcat 'VAL2' '颜色值'.def_fdcat 'VAL3' '无颜色'.gs_layout-colwidth_optimize = 'X'.gs_layout-coltab_fieldname = 'COLORTABLE'."设置输出内表中哪列为颜色列表CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTINGit_fieldcat = gt_fieldcat[]is_layout   = gs_layoutTABLESt_outtab    = gt_data.FORM f_inital .DATA: c1,c2.DO 7 TIMES.c1 = gt_color-color-col = sy-index - 1."颜色值DO 2 TIMES.c2 = gt_color-color-int =  sy-index - 1."颜色亮度gt_color-color-inv = '0'."颜色作用于背景CASE sy-index .WHEN 1.gt_color-fieldname = 'VAL1'."需进行颜色设置的列名(已具体到单元格)CONCATENATE 'col=' c1 ` ` 'int=' c2 ` `  'inv=0'  INTO gt_data-val1 .WHEN 2.gt_color-fieldname = 'VAL2'."需进行颜色设置的列名(已具体到单元格)CONCATENATE 'col=' c1 ` ` 'int=' c2 ` `  'inv=0'  INTO gt_data-val2 .ENDCASE.APPEND gt_color.ENDDO."设置每行数据中单元格的颜色内表gt_data-colortable = gt_color[].gt_data-val3 = '无颜色'.APPEND gt_data.CLEAR:gt_color,gt_color[].ENDDO.
ENDFORM.

这篇关于ALV Color-颜色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/979243

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

三色标记(Tri-color marking)

维基百科部分 原文 https://en.wikipedia.org/wiki/Tracing_garbage_collection#TRI-COLOR Because of these performance problems, most modern tracing garbage collectors implement some variant of the tri-color ma

渐变颜色填充

GradientFill函数可以对特定的矩形区域或者三角形区域进行渐变颜色的填充。我们先来看看GradientFill函数到底长得什么样子,帅不帅。 [cpp]  view plain copy print ? BOOL GradientFill(     _In_  HDC hdc,     _In_  PTRIVERTEX pVertex,     _In_  ULONG

【虚拟机/服务器】非图形化界面下修改Shell中颜色的设置

1、首先 cd ~ && ll 可以看到如下图所示 2、输入 sudo vim .bashrc 进入 .bashrc 并通过 /PS1 迅速从上往下定位第一个PS1 3、输入 i 进入插入模式后修改 else 下面的配置如下 说明:\e[1;32;40m] 其中1表示高亮显示,32表示字体颜色是绿色,40表示背景色为黑色 4、输入 esc 退出编辑模式到命令模式,再输入

Excel查询颜色RGB值

1.选中单元格,点右键,设置单元格格式-填充-其他颜色-自定义,下面显示的就是该单元格颜色的RGB值 2.与十六进制换算: https://www.sioe.cn/yingyong/yanse-rgb-16/