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

关于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. webpack react基础配置二 热加载

    用到 webpack-dev-server  先安装,注意 装到全局 还是本项目我也没注意  因为之前一直报错,有很小可能是安装到本地解决了,或者是我网络问题: 装到全局:$ npm install ...

  2. Flesch Reading Ease -POJ3371模拟

    Flesch Reading Ease Time Limit: 1000MS Memory Limit: 65536K Description Flesch Reading Ease, a reada ...

  3. 理解LSTM网络

    转载自:http://blog.csdn.net/ycheng_sjtu/article/details/48792467

  4. 【前端】使用readline模块实现Node.js的输入输出

    'use strict'; function f(x) { // do something... } var readline = require('readline'); //创建readline接 ...

  5. Configuring Network in CentOS 6.3 Virtual Box + Screenshots

    Configuring Network in CentOS 6.3 Virtual Box + Screenshots Posted: May 23, 2013 in Uncategorized Ta ...

  6. 前端 JS POST提交

    /*点击事件*/ function deleteExportItemAndEportUser(id) {    post("deleteExportItemAndEportUser" ...

  7. 【转载】我眼中的Oracle性能优化

    我眼中的Oracle性能优化 大家对于一个业务系统的运行关心有如下几个方面:功能性.稳定性.效率.安全性.而一个系统的性能有包含了网络性能.应用性能.中间件性能.数据库性能等等. 今天从数据库性能的角 ...

  8. Spark学习(四) -- Spark作业提交

    标签(空格分隔): Spark 作业提交 先回顾一下WordCount的过程: sc.textFile("README.rd").flatMap(line => line.s ...

  9. iscroll双重滚动,向上滚动隐藏一部分,下拉后显示

    最近项目需求:下面是页面,当用户向上滚动时候,[隐藏的]部分也向上滚动直至消失,这时候[标题]和[搜索框]在最顶部,而[内部的]可以继续滚动,而当[内部的]滚动到最顶部时候,也就是[这个是内部1]时候 ...

  10. 剑指offer三: 斐波拉契数列

    斐波拉契数列是指这样一个数列: F(1)=1; F(2)=1; F(n)=F(n-1)+F(n); public class Solution { public int Fibonacci(int n ...