问题源自李宁的需求,就不说了。

关于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中的红绿灯显示的更多相关文章

  1. Firebug中调试中的js脚本中中文内容显示为乱码

    Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...

  2. MongoVue中Collections无法显示的问题

    问题描述: 通过Python向MongoDB写入数据后,MongoVue中Collections无法显示的问题 原因: Mongodb 3.0之后默认的 storageEngine为wiredTige ...

  3. OpenGL中glVertex、显示列表(glCallList)、顶点数组(Vertex array)、VBO及VAO区别

    OpenGL中glVertex.显示列表(glCallList).顶点数组(Vertex array).VBO及VAO区别 1.glVertex 最原始的设置顶点方法,在glBegin和glEnd之间 ...

  4. winform中dataGridView隔行显示不同的背景色,鼠标移动上显示不同颜色,离开后变回原色

    winform中dataGridView隔行显示不同的背景色,鼠标移动上显示不同颜色,离开后变回原色 先设置奇数行颜色,这个有个自带的属性AlternatingRowsDefaultCellStyle ...

  5. HTML5中与页面显示相关的API

    1.HTML5中与页面显示相关的API 在HTML5中,增加了几个与页面显示相关的API,其中一个是Page Visibility API Page Visibility API  是指当页面变为最小 ...

  6. iphone中button按钮显示为圆形解决

    iphone中button按钮显示为圆形解决: 添加样式: -webkit-appearance:button; 如果需要为直角: border-radius:0 在源码中添加如:style=&quo ...

  7. 项目实例——多表关联查询判断A的字段是否在B中,在显示该字段值,不在显示空;B的字段是否在C中,在显示该字段值,不在显示空。

    1.需求: (1)三张表A.B.C  三个表id相同,如果A表中的name在B表中的bname中显示aname值,否则显示空:如果C表中的addr在B表中的tel显示addr,否则显示空 2.实现方式 ...

  8. [转]在Eclipse中Debug 为什么显示source not found

    在Eclipse中Debug 为什么显示source not found http://zhidao.baidu.com/link?url=-jna2HB_k2FW72GPbT--5Qg2AWi3Ip ...

  9. mysql插入表中的中文显示为乱码或问号的解决方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 今天在做ssh的博客项目时发现mysql数据库中的中文显示为问号,网上查阅了很多资料,都不是很全,所以我总结一下,供大家参考和自己复习. 1.我的 ...

随机推荐

  1. 电脑装的是office2013,右键新建却是2007,或者右键新建菜单中没有excel2013问题解决办法。

    我的office出现了两个问题,因为工作比较忙,也没有着急解决,今天实在受不了了,花费一下午才找到解决方法. 原来万恶之源都是可恶的wps,以后千万不安装kingsoft了. 第一个问题:excel打 ...

  2. 制作QQ空间的一些想法

    新的项目开始了,这一次是做一个网站类似于QQ空间那样的,基本功能比如说写日志,说说之类的都要有(说说是要有楼中楼嵌套的,应该能够上传图片),还要可以修改个人信息.登录注册之类的更不用说了,还要有一定的 ...

  3. 快速增加sql数据

    declare @i int begin insert into dbo.w10test(Name) select Name from dbo.w10test end;

  4. Android drawable微技巧

    家都知道,在Android项目当中,drawable文件夹都是用来放置图片资源的,不管是jpg.png.还是9.png,都可以放在这里.除此之外,还有像selector这样的xml文件也是可以放在dr ...

  5. http协议梳理(个人学习用)

    HTTP默认的端口号为80,HTTPS的端口号为443. 在Internet中所有的传输都是通过TCP/IP进行的.HTTP协议作为TCP/IP模型中应用层的协议.HTTP协议通常承载于TCP协议之上 ...

  6. DDS转换工具

    本工具用于将(长宽均为 2 的指数次幂的)图像文件如 PNG.TGA.BMP.JPG 等转换为 DDS 图像(DXT 压缩类型可选,DXT1~DXT5),也可将 DDS 图像转换回此几种格式图片. 截 ...

  7. highcharts php请求mysql返回json数据作为数据源进行制图

    直接上代码 [官方文档请参见http://www.highcharts.com/docs/working-with-data/getting-data-across-domains-jsonp] [实 ...

  8. 【转载】DOS 系统和 Windows 系统有什么关系?为什么windows系统下可以执行dos命令?

    作者:bombless 因为不同的系统都叫 Windows ,这些系统在界面上也有一定连续性并且因此可能造成误解,所以有必要稍微梳理一下几个不同的 Windows 系统.首先是 DOS 上的一个图形界 ...

  9. Android 录音器

    Android自带的mediarecoder录音器不含pause暂停功能,解决方法:录制多个音频片段,最后合成一个文件. 参照 : http://blog.csdn.net/a601445984/ar ...

  10. h5移动端让文字不可选中复制

    可以用css属性来控制 -moz-user-select:none; -webkit-user-select:none;