WDA基础十七:ALV不同行显示不同下拉
1.给ALV结构添加VALUE SET字段。

2.初始化时将TYPE_SET字段设置为值范围。
METHOD wddoinit .
DATA:
lo_node TYPE REF TO if_wd_context_node,
lo_elem TYPE REF TO if_wd_context_element,
ls_order TYPE wd_this->element_order,
lt_order TYPE wd_this->elements_order,
ls_value_set TYPE wdr_context_attr_value.
CLEAR:ls_order.
ls_order-object_id = ''.
ls_order-process_type = 'ZSV1'.
ls_value_set-value = 'ZSV2'.
ls_value_set-text = 'ZSV2'.
APPEND ls_value_set TO ls_order-type_set.
ls_value_set-value = 'ZSV3'.
ls_value_set-text = 'ZSV3'.
APPEND ls_value_set TO ls_order-type_set.
ls_value_set-value = 'ZSV4'.
ls_value_set-text = 'ZSV4'.
APPEND ls_value_set TO ls_order-type_set.
APPEND ls_order TO lt_order.
CLEAR:ls_order.
ls_order-object_id = ''.
ls_order-process_type = 'ZSO1'.
ls_value_set-value = 'ZSO2'.
ls_value_set-text = 'ZSO2'.
APPEND ls_value_set TO ls_order-type_set.
ls_value_set-value = 'ZSO3'.
ls_value_set-text = 'ZSO3'.
APPEND ls_value_set TO ls_order-type_set.
ls_value_set-value = 'ZSO4'.
ls_value_set-text = 'ZSO4'.
APPEND ls_value_set TO ls_order-type_set.
APPEND ls_order TO lt_order.
lo_node = wd_context->get_child_node( name = wd_this->wdctx_order ).
lo_node->bind_table( lt_order ).
lo_node->set_lead_selection_index( - ).
* use ALV
DATA:
lr_salv_wd_table_usage TYPE REF TO if_wd_component_usage,
lr_salv_wd_table TYPE REF TO iwci_salv_wd_table,
lr_table TYPE REF TO cl_salv_wd_config_table,
lr_column TYPE REF TO cl_salv_wd_column,
lr_dropdown TYPE REF TO cl_salv_wd_uie_dropdown_by_idx.
lr_salv_wd_table_usage = wd_this->wd_cpuse_alv( ).
IF lr_salv_wd_table_usage->has_active_component( ) IS INITIAL.
lr_salv_wd_table_usage->create_component( ).
ENDIF.
* get reference to ALV component interface
lr_salv_wd_table = wd_this->wd_cpifc_alv( ).
lr_salv_wd_table->set_data( lo_node ).
* get ConfigurationModel from ALV Component
lr_table = lr_salv_wd_table->get_model( ).
* get the column
CALL METHOD lr_table->if_salv_wd_column_settings~get_column
EXPORTING
id = 'PROCESS_TYPE'
RECEIVING
value = lr_column.
* create UI element
CREATE OBJECT lr_dropdown
EXPORTING
selected_key_fieldname = 'PROCESS_TYPE'.
* set the value set
CALL METHOD lr_dropdown->set_valueset_fieldname
EXPORTING
value = 'TYPE_SET'.
* set editor
CALL METHOD lr_column->set_cell_editor
EXPORTING
value = lr_dropdown.
* 很重要。Dropdownlist 才会出现
CALL METHOD lr_table->if_salv_wd_table_settings~set_read_only
EXPORTING
value = abap_false.
ENDMETHOD.
效果展示:


WDA基础十七:ALV不同行显示不同下拉的更多相关文章
- Bootstrap框架(基础篇)之按钮,网格,导航栏,下拉菜单
一,按钮 注意:虽然在Bootstrap框架中使用任何标签元素都可以实现按钮风格,但个人并不建议这样使用,为了避免浏览器兼容性问题,个人强烈建议使用button或a标签来制作按钮. 框架中提供了基础按 ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...
- 基于定位下拉框或者需要点击link才显示的下拉框,二次定位与多次定位实现的实际效果区别
还是基于上次那个练习的后续出现的思考,http://www.cnblogs.com/8013-cmf/p/6555790.html 界面: 源码: 写法如下: 继续解释这两种的区别: 1.其实基于定 ...
- 百度“搜索设置”之基于定位下拉框或者需要点击link才显示的下拉框,二次定位与多次定位实现的实际效果区别
还是基于上次那个练习的后续出现的思考,http://www.cnblogs.com/8013-cmf/p/6555790.html 界面: 源码: 写法如下: 继续解释这两种的区别: 1.其实基于定 ...
- EF5+MVC4系列(7) 后台SelectListItem传值给前台显示Select下拉框;后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式(ViewDate,TempDate,ViewBag,Model (实际是ViewDate.Model传值))
一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Ord ...
- 02 - Unit07:显示笔记下拉菜单、笔记的分享功能、笔记的删除功能
显示笔记下拉菜单 笔记的分享功能 发送Ajax请求 绑定事件:绑定分享按钮单击事件 参数获取:笔记ID 发送请求:/share/add.do 服务器处理 ShareController ShareSe ...
- Android零基础入门第72节:SwipeRefreshLayout下拉刷新
在实际开发中,经常都会遇到下拉刷新.上拉加载更多的情形,这一期就一起来学习Android系统的SwipeRefreshLayout下拉刷新组件. 一.SwipeRefreshLayout简介 Swip ...
- ALV屏幕捕捉回车及下拉框事件&ALV弹出框回车及下拉框事件
示例展示: 屏幕依据输入的物料编码或下拉框物料编码拍回车自动带出物料描述: 点击弹出框,输入物料编码拍回车带出物料描述,点击确认,更新ALV: 1.创建屏幕9000,用于处理ALV弹出框: 2.针对屏 ...
- BootStrap字体图标不显示、下拉菜单不显示
在W3CSchool学习BootStrap教程时遇到的问题…… 1.字体图标不能显示 上面是正常显示的样子,不能正常显示,因为缺少下面的字体图标样式文件 (1)在下载的Bootstrap包中将font ...
随机推荐
- spring boot + vue + element-ui全栈开发入门——项目部署
前言 常用的部署方式有两种: 1.是把生成好的静态页面放到spring boot的static目录下,与打包后的spring boot项目一起发布,当spring boot运行起来后,自然而然就能访 ...
- eclipse导出maven工程的可执行jar包
一.eclipse导出maven工程的可执行jar包 建立两个maven工程 ZKServer 和ZKClient 注意:用maven进行开发管理的话,默认的打出来的jar包是不能运行的,需要在pom ...
- CentOS 7Google浏览器
CentOS 7安装并启动Google浏览器(★firecat亲测有效★) 2018年09月23日 12:42:47 libaineu2004 阅读数:3088 版权声明:本文为博主原创文章,未 ...
- uploadify上传图片的使用
一:引用jquery.uploadify.js 二:代码 <body> <table> <tr> <td style="width: 15%; te ...
- 推荐!PlayGround:可视化神经网络
https://cloud.tencent.com/developer/news/190352 http://playground.tensorflow.org PlayGround是一个在线演示.实 ...
- Gatling实战(二)
在上一篇实战讲解了Gatling的用例,不过还没涉及到性能方面的内容,其实用例中的最后一句就和性能有关了 setUp(scn.inject(atOnceUsers(1)).protocols(http ...
- 分布式事务、多数据源、分库分表中间件之spring boot基于Atomikos+XADataSource分布式事务配置(100%纯动态)
本文描述spring boot基于Atomikos+DruidXADataSource分布式事务配置(100%纯动态),也就是增加.减少数据源只需要修改application.properties文件 ...
- opencv学习之路(33)、SIFT特征点提取(一)
一.简介 二.OpenCV中的SIFT算法接口 #include "opencv2/opencv.hpp" #include <opencv2/nonfree/nonfree ...
- Oracle中connect by用法示例
在工作中常常会遇到一些数据表包含父子关系的数据,比如行业.地区等等,如果需要将其节点按父子关系一步一步列出来,就需要使用connect by了. 如有由自身行业代码basecode和父行业代码pare ...
- eclipse上的.properties文件中文编辑显示问题
安装 装Properties Editor插件,方法: Help --> Install New Software -->输入:http://propedit.sourceforge.jp ...