博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原作】关于Dynpro中的红绿灯显示
阅读量:5320 次
发布时间:2019-06-14

本文共 1242 字,大约阅读时间需要 4 分钟。

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

关于ABAP中的红绿灯网上也有很多资料,不过貌似都是ABAP的程序,没怎么注意。后来根据需求要在Dynpro上也做出那样的效果,所以,研究了一下。

这种红绿灯在ABAP中显示时是以ICON的方式被创建并显示的,做过ABAP开发的人应该都知道那个Type Group‘ICON’里面有几乎所有的ABAP的ICON。

像那种锁标志,自开发的话可能都是需要点击后变成这样的,其他人怎么做的我不清楚,不过,我从一开始研究这个就用 来做按钮的显示,然后点击后修改按钮的显示为 。这种方法简单。其他的按钮图标就不介绍了,有空的话可以自己去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 = '10001'.  ls_icon_s-icon = 'ICON_GREEN_LIGHT'.  append ls_icon_s to lt_icon_s.

这样就能完美的显示出来了。因为是做的图片显示,所以对于那些显示图片的需求,这种方法同样适用。

说明:ALV里的显示是我们的强总给研究的。

 

 

最后申明一下:在赋值的时候不仅可以用‘ ICON_YELLOW_LIGHT’这种按钮名称的方法,还可以用 这种来显示。

ls_icon-item = '100001'.ls_icon-icon = '@0A@'.APPEND ls_icon to lt_icon.

同样可行。

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/sapSB/p/3395984.html

你可能感兴趣的文章
Exception in thread "AWT-EventQueue-0" java.lang.IllegalThreadStateException
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
Python默认调用路径
查看>>
启动redis一闪就关
查看>>
Maven之setting.xml配置文件详解
查看>>
python简单小常识
查看>>
可视化框架设计-图表类型
查看>>
HDU1823 Luck ans Love 二维线段树
查看>>
富数据控件 DetailsView 和 FormView
查看>>
ASP.NET 4.5 Web Forms and Visual Studio vs2013年入门1
查看>>
JUC - ReentrantLock 的基本用法 以及 lock()、tryLock()、lockInterruptibly()的区别
查看>>
《那一世》
查看>>
迷你DVD管理器
查看>>
从github上下载的ipynb文件的打开方法
查看>>
PAT L2-005 集合相似度(模拟集合set)
查看>>
Unity EditorWindow 笔记
查看>>
java 连接 Access数据库的两种方法
查看>>
【Linux笔记】CentOS 7 systemctl、firewalld
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>