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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/687550.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

##13 如何在Python中优雅地使用异常处理

文章目录 引言1. 异常处理基础2. 处理多种异常3. 捕捉所有异常4. finally 语句5. 自定义异常结语参考链接 引言 在编程中,错误是在所难免的。Python提供了异常处理机制,允许程序在遇到错误时优雅地恢复。本文将介绍Python中异常处理的基本概念&#xff…

探索Baidu Comate智能编码助手的AI编程之旅

本文目录 目录 本文目录 前言 1.1 Baidu Comate智能编码助手概览 1.2 Baidu Comate适用场景 1.3 Baidu Comate安装步骤 1.4 代码编写与智能提示 1.5 试用感受分享 1.6 对Comate未来发展的期望 1.7 总结体验与收获 1.8 对AI编程未来的展望 前言 1.1Baidu Comate智…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑低碳需求响应的碳捕集燃煤电厂配置-运行协同优化》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

上网卡免费领取,无成本,免费领,超暴力蓝海项目

随着短视频和直播的流行,对大流量电话卡的需求日益增加。我们提供100G-300G大流量电话卡,包含100多分钟语音通话,月费仅19-29元。这些都是三大运营商的靠谱已有号卡,全国免费领取并包邮到家。客户收到卡片后,可在线充值…

dragonbones 5.6.3不能导出的解决办法

问题描述 使用dragonbones 5.6.3导出资源时无反应。 解决方法 第一步安装node.js,我这里使用的是V18.16.0第二步进入到DragonBonesPro\egretlauncher\server\win目录,然后把里面的node.exe替换为刚刚下载的node文件夹即可,如下图&#xff…

【Linux】冯诺依曼体系

冯诺依曼体系 冯诺依曼体系结构是我们计算机组成的基本架构 中央处理器(CPU): 中央处理器是冯诺伊曼体系的核心部分,负责执行计算机程序中的指令。它包括算术逻辑单元(ALU)和控制单元(CU&#x…

番外篇 | YOLOv8改进之利用SCINet解决黑夜目标检测问题 | 低照度图像增强网络

前言:Hello大家好,我是小哥谈。自校正照明网络(Self-Calibrating Illumination Network, SCINet)是一种基于深度学习的图像照明算法,可以自动分析图像的内容并根据图像内容自动优化照明。SCINet是一种专为低光照图像增强设计的框架。它通过级联照明学习过程和权重共享机制…

VISO流程图之子流程的使用

子流程的作用 整个流程图的框图多而且大,进行分块;让流程图简洁对于重复使用的流程,可以归结为一个子流程图,方便使用,避免大量的重复性工作; 新建子流程 方法1: 随便布局 框选3 和4 &#…

linux性能监控之slabtop

slabtop命令是以实时的方式显示内核slab缓冲区的细节信息&#xff0c;是linux自带的命令 [rootk8s-master ~]# slabtop --helpUsage:slabtop [options]Options:-d, --delay <secs> delay updates-o, --once only display once, then exit-s, --sort <char&…

测试员沟通秘籍:搞定开发与产品

作为一名软件测试工程师&#xff0c;日常工作中确实会经常与开发和产品经理进行密切沟通。在沟通中&#xff0c;我们难免会遇到一些挑战和误解&#xff0c;但关键在于我们如何以专业且建设性的方式处理这些问题。 挑战一&#xff1a;“这么弱智的bug你都测不出来吗&#xff1f;…

科技查新中医学科研项目查新点如何确立与提炼?案例讲解

一、前言 医学科技查新包括立项查新和成果查新两个部分&#xff0c;其中医学立项查新&#xff0c;它是指在医学科研项目申报开题之前&#xff0c;通过在一定范围内进行该课题的相关文献检索 ( 可以根据项目委托人的具体要求&#xff0c;进行国内检索或者进行国外检索 ) &#x…

处理解决python中No module named ‘pkg_resources‘问题

1、问题现象&#xff1a; ModuleNotFoundError: No module named pkg_resources 2、解决方案 安装pip install setuptools即可解决&#xff1a;