【原作】关于Dynpro中的红绿灯显示
问题源自李宁的需求,就不说了。
关于ABAP中的红绿灯网上也有很多资料,不过貌似都是ABAP的程序,没怎么注意。后来根据需求要在Dynpro上也做出那样的效果,所以,研究了一下。
这种红绿灯在ABAP中显示时是以ICON的方式被创建并显示的,做过ABAP开发的人应该都知道那个Type Group‘ICON’里面有几乎所有的ABAP的ICON。
像那种锁标志
,自开发的话可能都是需要点击后变成
这样的,其他人怎么做的我不清楚,不过,我从一开始研究这个就用 '@06@'来做按钮的显示,然后点击后修改按钮的显示为 '@07@'。这种方法简单。其他的按钮图标就不介绍了,有空的话可以自己去ICON这个类型池里看看,研究研究。
下面来说说这次的Dynpro的红绿灯显示:
1:TABLE里做显示
因为对TABLE比较熟,所以一开始研究的时候就以TABLE来研究了。效果如图:

主要就是将TABLECOLUMN设成IMAGE类型,然后在赋值的时候赋上‘ ICON_RED_LIGHT’‘ ICON_YELLOW_LIGHT’‘ ICON_GREEN_LIGHT’就能显示成这种效果。
2:ALV里做显示
因为ALV里显示和TABLE的原理是一样的,效果也一样的。如图:

在ALV初始化的时候给对应的列做个IMAGE类型
when 'ICON'.
lr_column_header = ls_column-r_column->create_header( ).
lr_column_header->set_text( 'LIGHT' )."下面四行可以将显示的文本内容变为图标
data: lr_image type ref to cl_salv_wd_uie_image.
create object lr_image.
lr_image->set_source_fieldname( ls_column-id ).
ls_column-r_column->set_cell_editor( lr_image ).
在赋值的时候
ls_icon_s-item = ''.
ls_icon_s-icon = 'ICON_GREEN_LIGHT'.
append ls_icon_s to lt_icon_s.
这样就能完美的显示出来了。因为是做的图片显示,所以对于那些显示图片的需求,这种方法同样适用。
说明:ALV里的显示是我们的强总给研究的。
最后申明一下:在赋值的时候不仅可以用‘ ICON_YELLOW_LIGHT’这种按钮名称的方法,还可以用 '@0A@'这种来显示。
ls_icon-item = ''.
ls_icon-icon = '@0A@'.
APPEND ls_icon to lt_icon.
同样可行。
【原作】关于Dynpro中的红绿灯显示的更多相关文章
- Firebug中调试中的js脚本中中文内容显示为乱码
Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...
- MongoVue中Collections无法显示的问题
问题描述: 通过Python向MongoDB写入数据后,MongoVue中Collections无法显示的问题 原因: Mongodb 3.0之后默认的 storageEngine为wiredTige ...
- OpenGL中glVertex、显示列表(glCallList)、顶点数组(Vertex array)、VBO及VAO区别
OpenGL中glVertex.显示列表(glCallList).顶点数组(Vertex array).VBO及VAO区别 1.glVertex 最原始的设置顶点方法,在glBegin和glEnd之间 ...
- winform中dataGridView隔行显示不同的背景色,鼠标移动上显示不同颜色,离开后变回原色
winform中dataGridView隔行显示不同的背景色,鼠标移动上显示不同颜色,离开后变回原色 先设置奇数行颜色,这个有个自带的属性AlternatingRowsDefaultCellStyle ...
- HTML5中与页面显示相关的API
1.HTML5中与页面显示相关的API 在HTML5中,增加了几个与页面显示相关的API,其中一个是Page Visibility API Page Visibility API 是指当页面变为最小 ...
- iphone中button按钮显示为圆形解决
iphone中button按钮显示为圆形解决: 添加样式: -webkit-appearance:button; 如果需要为直角: border-radius:0 在源码中添加如:style=&quo ...
- 项目实例——多表关联查询判断A的字段是否在B中,在显示该字段值,不在显示空;B的字段是否在C中,在显示该字段值,不在显示空。
1.需求: (1)三张表A.B.C 三个表id相同,如果A表中的name在B表中的bname中显示aname值,否则显示空:如果C表中的addr在B表中的tel显示addr,否则显示空 2.实现方式 ...
- [转]在Eclipse中Debug 为什么显示source not found
在Eclipse中Debug 为什么显示source not found http://zhidao.baidu.com/link?url=-jna2HB_k2FW72GPbT--5Qg2AWi3Ip ...
- mysql插入表中的中文显示为乱码或问号的解决方法
版权声明:本文为博主原创文章,未经博主允许不得转载. 今天在做ssh的博客项目时发现mysql数据库中的中文显示为问号,网上查阅了很多资料,都不是很全,所以我总结一下,供大家参考和自己复习. 1.我的 ...
随机推荐
- CSS3 笔记三(Shadow/Text/Web Fonts)
CSS3 Shadow Effects text-shadow box-shadow 1> text-shadow The text-shadow property adds shadow to ...
- Dashborad 上显示出错
Dashboard 上显示的错误是因为没有选择对应的X-坐标. 上周处理过 一个字段,它是一个Formula 字段,作为Dashboard的 Data Source 前提是报表是得Group by 一 ...
- ISO学习中代码截图
自定义插件 1.使用时的调用方法 导入头文件,创建对象,设置尺寸,传入数据: 2,内部方法的实现 XMGPageView.m XMGPageView.h XMGPageView.xib 注意点 自定义 ...
- vue 导航钩子
导航钩子 (译者:『导航』表示路由正在发生改变.) 正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消.有多种方式可以在路由导航发生时执行钩子:全局的, 单个路由独享的 ...
- 深入.NET平台C#编程 测试题分析
选择题讲解 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和Deserialize()方法可 ...
- easyui dialog iframe
function toGrant(obj,url,showMsg) { var dialog=$('#dlg_grant' ...
- iOS高性能设置圆角
自建一个分类可以设置. -(void)cornerImageWithSize:(CGSize)size fillColor:(UIColor *)fillColor completion:(void( ...
- 挑战程序2.1.4 穷竭搜索>>深度优先搜索
深度优先搜索DFS,从最开始状态出发,遍历一种状态到底,再回溯搜索第二种. 题目:POJ2386 思路:(⊙v⊙)嗯 和例题同理啊,从@开始,搜索到所有可以走到的地方,把那里改为一个值(@或者 ...
- python json操作
来源 http://www.cnblogs.com/qq78292959/p/3467937.html 什么是json: JSON(JavaScript Object Notation) 是一种轻量级 ...
- [SAP ABAP开发技术总结]选择屏幕——各种屏幕元素演示
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...