1.给ALV结构添加VALUE SET字段。

2.初始化时将TYPE_SET字段设置为值范围。

  1. METHOD wddoinit .
  2. DATA:
  3. lo_node TYPE REF TO if_wd_context_node,
  4. lo_elem TYPE REF TO if_wd_context_element,
  5. ls_order TYPE wd_this->element_order,
  6. lt_order TYPE wd_this->elements_order,
  7. ls_value_set TYPE wdr_context_attr_value.
  8. CLEAR:ls_order.
  9. ls_order-object_id = ''.
  10. ls_order-process_type = 'ZSV1'.
  11. ls_value_set-value = 'ZSV2'.
  12. ls_value_set-text = 'ZSV2'.
  13. APPEND ls_value_set TO ls_order-type_set.
  14. ls_value_set-value = 'ZSV3'.
  15. ls_value_set-text = 'ZSV3'.
  16. APPEND ls_value_set TO ls_order-type_set.
  17. ls_value_set-value = 'ZSV4'.
  18. ls_value_set-text = 'ZSV4'.
  19. APPEND ls_value_set TO ls_order-type_set.
  20. APPEND ls_order TO lt_order.
  21. CLEAR:ls_order.
  22. ls_order-object_id = ''.
  23. ls_order-process_type = 'ZSO1'.
  24. ls_value_set-value = 'ZSO2'.
  25. ls_value_set-text = 'ZSO2'.
  26. APPEND ls_value_set TO ls_order-type_set.
  27. ls_value_set-value = 'ZSO3'.
  28. ls_value_set-text = 'ZSO3'.
  29. APPEND ls_value_set TO ls_order-type_set.
  30. ls_value_set-value = 'ZSO4'.
  31. ls_value_set-text = 'ZSO4'.
  32. APPEND ls_value_set TO ls_order-type_set.
  33. APPEND ls_order TO lt_order.
  34. lo_node = wd_context->get_child_node( name = wd_this->wdctx_order ).
  35. lo_node->bind_table( lt_order ).
  36. lo_node->set_lead_selection_index( - ).
  37. * use ALV
  38. DATA:
  39. lr_salv_wd_table_usage TYPE REF TO if_wd_component_usage,
  40. lr_salv_wd_table TYPE REF TO iwci_salv_wd_table,
  41. lr_table TYPE REF TO cl_salv_wd_config_table,
  42. lr_column TYPE REF TO cl_salv_wd_column,
  43. lr_dropdown TYPE REF TO cl_salv_wd_uie_dropdown_by_idx.
  44. lr_salv_wd_table_usage = wd_this->wd_cpuse_alv( ).
  45. IF lr_salv_wd_table_usage->has_active_component( ) IS INITIAL.
  46. lr_salv_wd_table_usage->create_component( ).
  47. ENDIF.
  48. * get reference to ALV component interface
  49. lr_salv_wd_table = wd_this->wd_cpifc_alv( ).
  50. lr_salv_wd_table->set_data( lo_node ).
  51. * get ConfigurationModel from ALV Component
  52. lr_table = lr_salv_wd_table->get_model( ).
  53. * get the column
  54. CALL METHOD lr_table->if_salv_wd_column_settings~get_column
  55. EXPORTING
  56. id = 'PROCESS_TYPE'
  57. RECEIVING
  58. value = lr_column.
  59. * create UI element
  60. CREATE OBJECT lr_dropdown
  61. EXPORTING
  62. selected_key_fieldname = 'PROCESS_TYPE'.
  63. * set the value set
  64. CALL METHOD lr_dropdown->set_valueset_fieldname
  65. EXPORTING
  66. value = 'TYPE_SET'.
  67. * set editor
  68. CALL METHOD lr_column->set_cell_editor
  69. EXPORTING
  70. value = lr_dropdown.
  71. * 很重要。Dropdownlist 才会出现
  72. CALL METHOD lr_table->if_salv_wd_table_settings~set_read_only
  73. EXPORTING
  74. value = abap_false.
  75. ENDMETHOD.

效果展示:

WDA基础十七:ALV不同行显示不同下拉的更多相关文章

  1. Bootstrap框架(基础篇)之按钮,网格,导航栏,下拉菜单

    一,按钮 注意:虽然在Bootstrap框架中使用任何标签元素都可以实现按钮风格,但个人并不建议这样使用,为了避免浏览器兼容性问题,个人强烈建议使用button或a标签来制作按钮. 框架中提供了基础按 ...

  2. Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中

    功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...

  3. 基于定位下拉框或者需要点击link才显示的下拉框,二次定位与多次定位实现的实际效果区别

    还是基于上次那个练习的后续出现的思考,http://www.cnblogs.com/8013-cmf/p/6555790.html 界面: 源码: 写法如下:  继续解释这两种的区别: 1.其实基于定 ...

  4. 百度“搜索设置”之基于定位下拉框或者需要点击link才显示的下拉框,二次定位与多次定位实现的实际效果区别

    还是基于上次那个练习的后续出现的思考,http://www.cnblogs.com/8013-cmf/p/6555790.html 界面: 源码: 写法如下:  继续解释这两种的区别: 1.其实基于定 ...

  5. EF5+MVC4系列(7) 后台SelectListItem传值给前台显示Select下拉框;后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式(ViewDate,TempDate,ViewBag,Model (实际是ViewDate.Model传值))

    一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Ord ...

  6. 02 - Unit07:显示笔记下拉菜单、笔记的分享功能、笔记的删除功能

    显示笔记下拉菜单 笔记的分享功能 发送Ajax请求 绑定事件:绑定分享按钮单击事件 参数获取:笔记ID 发送请求:/share/add.do 服务器处理 ShareController ShareSe ...

  7. Android零基础入门第72节:SwipeRefreshLayout下拉刷新

    在实际开发中,经常都会遇到下拉刷新.上拉加载更多的情形,这一期就一起来学习Android系统的SwipeRefreshLayout下拉刷新组件. 一.SwipeRefreshLayout简介 Swip ...

  8. ALV屏幕捕捉回车及下拉框事件&ALV弹出框回车及下拉框事件

    示例展示: 屏幕依据输入的物料编码或下拉框物料编码拍回车自动带出物料描述: 点击弹出框,输入物料编码拍回车带出物料描述,点击确认,更新ALV: 1.创建屏幕9000,用于处理ALV弹出框: 2.针对屏 ...

  9. BootStrap字体图标不显示、下拉菜单不显示

    在W3CSchool学习BootStrap教程时遇到的问题…… 1.字体图标不能显示 上面是正常显示的样子,不能正常显示,因为缺少下面的字体图标样式文件 (1)在下载的Bootstrap包中将font ...

随机推荐

  1. 机器学习算法GBDT

    http://www-personal.umich.edu/~jizhu/jizhu/wuke/Friedman-AoS01.pdf https://www.cnblogs.com/bentuwuyi ...

  2. Cannot locate BeanDefinitionParser for element [scoped-proxy]

    指定使用 CGLIB 而不使用 JDK 生成代理对象:注意:此两个标签必须同时出现,不然会报:Cannot locate BeanDefinitionParser for element [scope ...

  3. (纯干货)最新WEB前端学习路线汇总初学者必看

    Web前端好学吗?这是很多web学习者常问的问题,想要学习一门自己从未接触过的领域,事先有些了解并知道要学的内容,对接下来的学习会有事半功倍的效果.在当下来说web前端开发工程师可谓是高福利.高薪水的 ...

  4. Python汉罗塔

    第一步代码: import turtle class Stack: def __init__(self): self.items = [] def isEmpty(self): return len( ...

  5. java项目word文件转html文件

    最近在项目开发中用户提出要在电脑上没有装office时在浏览器中打开word文件,最后确定的逻辑:用户选择想要查看的文件,页面js判断文件是否为word.不是执行下载,是后端根据word文件后缀访问对 ...

  6. vue配置404页面

    { path:'*', name:"/404", component:cuowu } path星号表示没有这个路由 name表示去这个地址 component这个页面引入的时候叫的 ...

  7. 施密特正交化 GramSchmidt

    施密特正交化 GramSchmidt 施密特正交化的原名是 Gram–Schmidt process,是由Gram和schmidt两个人一起发明的,但是后来因为施密特名气更大,所以该方法被简记为施密特 ...

  8. mfc动态控件生成

    1.变量.函数声明 std::vector<CButton*>pBtn; afx void OnBtnClik(UINT uID);//回调函数 2.分配空间 pBtn.resize(50 ...

  9. 关于Tomcat启动时,长时间停在Initializing Spring root webApplicationContext处的原因

    1.大家肯定经常会遇到这样的问题,以前启动tomcat都不会出问题.现在一起动就会卡到Initializing Spring root webApplicationContext处,tomcat会报连 ...

  10. String,StringBuilder,tringBuffer

    这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面. 运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > Str ...