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

关于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. ftp发送文件

    #!/bin/bash #author:luyongjin IP=220.250.65.22 USERNAME='ftp_hangye20' PASSWORD='oUo2JD7oK#u-epw' #D ...

  2. Java的文件读写操作

    file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...

  3. Jquery 下实现 图片大图预览效果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  4. 如何输出function执行的语句

    SQL>  set serveroutput on;SQL> exec dbms_output.put_line(1); set   serveroutput   on   size   ...

  5. (转)jQuery源码解读 -- jQuery v1.10.2

    原文GitHub链接: https://github.com/chokcoco/jQuery-

  6. Error: Bootstrap's JavaScript requires jQuery错误

    引入bootstrap时会出现的问题:boostrap下拉菜单无效,浏览器报Uncaught Error: Bootstrap's JavaScript requires jQuery错误, 解决办法 ...

  7. PHP将图片二进制转换

    http://www.360doc.com/content/14/0325/10/947551_363526874.shtml

  8. mariadb用户和权限管理

    mysql -u root -p insert into mysql.user(Host,User,Password) values('localhost','guest',password('123 ...

  9. 图说函数模板右值引用参数(T&&)类型推导规则(C++11)

    见下图: 规律总结: 只要我们传递一个基本类型是A④的左值,那么,传递后,T的类型就是A&,形参在函数体中的类型就是A&. 只要我们传递一个基本类型是A的右值,那么,传递后,T的类型就 ...

  10. java.net.UnknownHostException: promote.cache-dns.local: unknown error

    一.错误 程序启动时提示如下错误: java.net.UnknownHostException: promote.cache-dns.local: unknown error 直译就是: 主机名pro ...