函数alv下的颜色设置
ABAP中的颜色代码是由4位字都组成的
cxyz
c:color的简写,颜色代码均以C开头
x:标准色代码,SAP中一共有7个标准色
y:反转颜色启用/关闭 1/0
z:增强颜色启用/关闭 1/0
标准色代码一览表
X | 颜色 | 主要用处 |
1 | 灰蓝色 | 抬头、标题栏 |
2 | 浅灰色 | 列表内容 |
3 | 黄色 | 汇总 |
4 | 蓝色 | 关键字 |
5 | 绿色 | 正确 |
6 | 红色 | 错误 |
7 | 橙色 | 控制 |
如:
单元格颜色控制:
定义最后显示内表的时候要在里面增加一个
colour type lvc_T_scol,类型,这是个内表类型,
DATA yellow_color TYPE LVC_S_SCOL. 这是它的工作区,
如:
TYPES:BEGIN OF t_detail,
matnr TYPE eina-matnr, "物料
ratio type i ,
colour type lvc_T_scol, "控制单元格颜色
END OF t_detail.
DATA: gt_detail TYPE STANDARD TABLE OF t_detail, "明细內表
gs_detail LIKE LINE OF gt_detail, "明细內表工作区
IF l_ratio >= 50.
yellow_color-fname = 'RATIO'.
yellow_color-color-col = '6'.
yellow_color-color-int = '1'.
APPEND yellow_color TO gs_detail-colour.
endif.
append gs_detail to gt_detail.
除此之外还要设置布局格式
i_layout-coltab_fieldname = 'COLOUR'. ”'COLOUR'是内表中控制单元格颜色的字段。
一. 行颜色
1. 在结果内表中添加字段 color(4) TYPE c ,用来存储四位颜色值.
2. 在内表循环中给这个字段赋值,比如'C310' 黄色.
3. 最关键的一点,在layout结构中设定颜色字段的名字,代码如下:
is_layout-info_fieldname = 'COLOR'. " 行颜色字段
is_layout 是我们声明的一个ALV的 type slis_layout_alv 的结构.
二. 列颜色
列颜色较为简单,我们在填充结构 it_fieldcat TYPE slis_t_fieldcat_alv 时,为每一列直接赋值就好了。
三。单元格颜色
1. 在结果内表中添加字段 cellcolor TYPE lvc_t_scol . 这是一个内表,用来存储单元格的颜色。
2. 在内表循环中给这个内表赋值,示例代码如下:
PERFORM fill_cellcolor CHANGING wa_result-cellcolor. " 单元格高亮(黄色)
*&---------------------------------------------------------------------*
*& Form fill_cellcolor
*&---------------------------------------------------------------------*
* 填充单元格颜色数据
*----------------------------------------------------------------------*
FORM fill_cellcolor CHANGING p_cellcolor type lvc_t_scol.DATA wa_cellcolor TYPE lvc_s_scol . " 单元格颜色结构
DEFINE set_color.
wa_cellcolor-fname = &1.
wa_cellcolor-color-col = '3'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
append wa_cellcolor to p_cellcolor.
END-OF-DEFINITION.set_color 'MATNR'.
set_color 'MAKTX'.
set_color 'MEINS'.
set_color 'CNT_S'.
set_color 'QUOTE1'.
set_color 'QUOTE2'.ENDFORM. " fill_cellcolor
3. 最关键的一点,在layout结构中设定颜色字段的名字,代码如下:
is_layout-coltab_fieldname = 'CELLCOLOR'. " 单元格颜色字段
总结:
当同时设定了行颜色和列颜色后,行颜色会覆盖列颜色,有的时候用户不希望这种结果的出现,解决办法就是设定每行的单元格(当然不包括与设定列颜色的列相交叉的单元格)的颜色。
函数alv下的颜色设置的更多相关文章
- ALV行 列颜色设置
ALV的颜色设置分为3种:行.列.单元格. 1.列颜色的设置 在 slis_t_fieldcat_alv-emphasize 中,写入需要的颜色代码. Eg: DATA: fc TYP ...
- SAP ABAP ALV 颜色设置(两个ALV函数例子) 列 行 单元格
@[TOC](设置ALV颜色)# 前言淦! 要求花花绿绿的ALV ,那就淦他! 需要的参数和对应颜色放在最后.稍微改改就能用. 介绍两个常用的ALV函数实现1.REUSE_ALV_GRID_DISPL ...
- Linux下printf函数显示不同的颜色(转)
Linux下printf函数显示不同的颜色 在学习Linux网络编程的时候做一个聊天系统,当时为了界面更漂亮点,于是搜索了下关于printf()函数的用法,给printf的输出加上些特效比如颜色,可以 ...
- iOS - UIButton设置文字标题下划线以及下划线颜色
创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] in ...
- Win7下如何设置护眼的电脑豆沙绿界面?保护眼睛的颜色设置教程
关爱心灵的窗户——眼睛! 随着科技发展,使用电脑的人越来越多,由于使用电脑时间过长,我们的眼睛也越发容易疲劳,干燥.如何才能使电脑对人眼的伤害减小到最 小. 小编建议大家可以把窗口背景色设置成护眼色. ...
- ALV列、行、单元格颜色设置
)颜色含义 :海蓝:2:浅清:3:黄色:4:浅蓝:5:青色:6:红色:7:橙色. (1)首位为主颜色: (2)次位为辅助颜色: (3)末位为0时,表示首位数字表为表格的底色: 末位为1时,则表示以1为 ...
- UI设计篇·入门篇·绘制简单自定义矩形图/设置按钮按下弹起颜色变化/设置图形旋转
Android的基本控件和图形有限,难以满足所有的实际需要和设计需求,好在Android给出了相对完善的图形绘制和自定义控件的API,利用这些API,可以基本满足设计的需求. 自定义图像和控件的方法: ...
- [转载]Linux下终端字体颜色设置方法
原文地址:Linux下终端字体颜色设置方法作者:router 网上类似的文章有很多,但是都是转来转去的,没有经过测试,按照很多文章的方法会造成你设置之后的终端在换行和删除输入字符时终端显示会乱七八糟, ...
- 在Visual Studio 2012 Blue theme下使用Dark theme的文本编辑器颜色设置
Visual Studio 2012 默认提供了3种color theme: blue,light,和dark.其中dark的文本编辑器颜色设定很爽,可是整个菜单项加上一些小的窗口如Find Resu ...
随机推荐
- nginx记录响应与POST请求日志
生产环境中的某些api出现故障,但是问题无法重现,但是又很想解决掉问题以及我们新项目上线,需要跟踪请求与响应的信息,可以预先找到一些bug,减少大面积的损失. 安装nginx与ngx_lua 响应日志 ...
- 金融管理 - MBA智库百科
金融管理 - MBA智库百科 金融管理 出自 MBA智库百科(http://wiki.mbalib.com/) 金融管理(Financial Management) 目录 ...
- 相邻数字的基数不等比:skew数
2973:Skew数 描述在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1). 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, 10120(skew) ...
- windows下apache如何完整卸载?
1.运行services.msc,在服务中停止 apache 服务.2.运行命令行程序,输入 sc delete apache,删除该服务3.删除apache文件夹.
- 在不同编译环境中如何使用sleep()函数
今天在学习有关时间函数时,想让程序暂时挂起,一段时间后在继续执行! 用到了系统函数sleep(): 在vc下sleep函数是以毫秒为单位,如果想让其停留3秒,需要这样做 sleep(3*1000); ...
- 每天4个linux命令--步骤一
1 :Linux的诞生 Linux由芬兰赫尔辛基大学的Linus Torvalds创建 1991年10月,Linux第一个公开版 0.02版发布 1994年3月,Linux 1.0版发布 Linus ...
- 获取CPU序列号
public string GetCPUSerialNo() { string cpuSerialNo = string.Empty; ManagementClass managementClass ...
- C++如何屏蔽双击运行程序功能?
问题描述: 我们开发过程中可能会经常遇到,需要屏蔽EXE的双击运行功能,只能通过宿主程序(Service或EXE)来启动.比如腾讯的迷你弹窗,就只能通过主程序来启动,而不能直接通过双击来运行. 实现原 ...
- log4net学习目录
log4net是用来记录日志的,日志是用来帮助我们排除错误和异常的.这是我们编写软件必须要用到的东西,前面总结了一些有关日志和log4net的文章,在这整理个目录东大家参考. C#日志工具汇总 log ...
- 为什么函数式编程在Java中很危险?
摘要:函数式编程这个不温不火的语言由来已久.有人说,这一年它会很火,尽管它很难,这也正是你需要学习的理由.那么,为什么函数式编程在Java中很危险呢?也许这个疑问普遍存在于很多程序员的脑中,作者Ell ...