WDA基础十四:ALV字段属性配置表
ALV配置表管理
一.字段属性配置表
对于可编辑的ALV不用这个,尽可能多的设置一些控制:
单元格类型:默认A,特殊选择
ZLYE_TYPE E A 1 Text Field A
ZLYE_TYPE E A 2 Check Box B
ZLYE_TYPE E A 3 Drop Down C
ZLYE_TYPE E A 4 Link D
ZLYE_TYPE E A 5 Link Url E
ZLYE_TYPE E A 6 Button F
做成配置表,也可以用前面的自建表批导程序批导。
二.配置表在ALV中的使用
1.在WDA Component中添加ALV组件并激活:
2. Component Controller中创建结果节点
3.将ALV组件添加到使用的VIEW中:
METHOD init_alv .
DATA: lr_comp_alv TYPE REF TO if_wd_component_usage,
lr_comp_if_alv TYPE REF TO iwci_salv_wd_table.
DATA:gt_zlyt001 TYPE TABLE OF zlyt001,
gw_zlyt001 LIKE LINE OF gt_zlyt001,
gv_string TYPE string. DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings,
lr_column TYPE REF TO cl_salv_wd_column,
lr_column_header TYPE REF TO cl_salv_wd_column_header. DATA: lt_column TYPE salv_wd_t_column_ref,
ls_column TYPE salv_wd_s_column_ref. ****"定义特殊格式的类型
DATA: lr_input_field TYPE REF TO cl_salv_wd_uie_input_field,
lr_checkbox TYPE REF TO cl_salv_wd_uie_checkbox,
lr_button TYPE REF TO cl_salv_wd_uie_button,
lr_link TYPE REF TO cl_salv_wd_uie_link_to_action,
lr_linu TYPE REF TO cl_salv_wd_uie_link_to_url,
lr_image TYPE REF TO cl_salv_wd_uie_image,
lr_dropdown_by_key TYPE REF TO cl_salv_wd_uie_dropdown_by_key.
DATA lr_column_id TYPE string.
****
DATA: lr_field_amnt TYPE REF TO cl_salv_wd_field . DATA: lv_aggr_rule TYPE REF TO cl_salv_wd_aggr_rule,
lr_sort_rule TYPE REF TO cl_salv_wd_sort_rule. "创建组件/实例化组件
lr_comp_alv = wd_this->wd_cpuse_alv( ) .
IF lr_comp_alv->has_active_component( ) IS INITIAL.
lr_comp_alv->create_component( ).
ENDIF. DATA lr_config TYPE REF TO cl_salv_wd_config_table.
DATA:lr_func_config TYPE REF TO cl_salv_wd_config_table.
"获取ALV对象的设置对象
lr_comp_if_alv = wd_this->wd_cpifc_alv( ).
lr_config = lr_comp_if_alv->get_model( ).
lr_func_config = lr_comp_if_alv->get_model( ). lr_column_settings ?= lr_config .
lt_column = lr_column_settings->get_columns( )."获取ALV字段
"取配置表数据
SELECT * INTO TABLE gt_zlyt001 FROM zlyt001 WHERE sales_org = wd_this->sales_org
AND component_name = 'ZHSI_INVOICE'
AND alv = 'ALV'.
SORT gt_zlyt001 BY posit ASCENDING." *========================================================= DATA: l_value TYPE REF TO cl_salv_wd_config_table. l_value = lr_comp_if_alv->get_model( ).
l_value->if_salv_wd_table_settings~set_fixed_table_layout( abap_true ). "使列宽不可自动调节
l_value->if_salv_wd_table_settings~set_width( '100%' ) . "设置宽度
l_value->if_salv_wd_table_settings~set_visible_row_count( '' ). "显示的行数
l_value->if_salv_wd_table_settings~set_scrollable_col_count( '' )."设置滚动条行数
l_value->if_salv_wd_table_settings~set_read_only( abap_true )."设置只读
l_value->if_salv_wd_table_settings~set_display_empty_rows( abap_false )."设置空表也显示alv行
l_value->if_salv_wd_table_settings~set_selection_mode( cl_wd_table=>e_selection_mode-multi_no_lead )."多选无lead
l_value->if_salv_wd_function_settings~set_enabled( abap_true ) ."功能
l_value->if_salv_wd_std_functions~set_edit_check_available( abap_false ) .
l_value->if_salv_wd_std_functions~set_edit_insert_row_allowed( abap_false ) .
l_value->if_salv_wd_std_functions~set_export_allowed( abap_true ) ."可excel导出
* l_value->if_salv_wd_std_functions~set_view_list_allowed( abap_false ).
l_value->if_salv_wd_std_functions~set_pdf_allowed( abap_false ) ."可pdf导出
l_value->if_salv_wd_std_functions~set_edit_append_row_allowed( abap_false ) .
l_value->if_salv_wd_std_functions~set_edit_delete_row_allowed( abap_false ) .
l_value->if_salv_wd_std_functions~set_filter_filterline_allowed( abap_true ).
l_value->if_salv_wd_std_functions~set_filter_complex_allowed( abap_true )."多字段筛选
* l_value->if_salv_wd_std_functions~set_dialog_settings_allowed( abap_true ). DATA: lr_table_settings TYPE REF TO if_salv_wd_table_settings.
lr_table_settings ?= l_value.
lr_table_settings->set_data_check( '' ).
lr_table_settings->set_read_only( abap_false ). LOOP AT lt_column INTO ls_column.
lr_column_id = ls_column-id.
lr_column = ls_column-r_column. lr_column->set_resizable( value = 'X' ).
lr_column->set_width( value = '' ). READ TABLE gt_zlyt001 INTO gw_zlyt001 WITH KEY field = ls_column-id.
IF sy-subrc = .
IF gw_zlyt001-visiable = 'X'.
lr_column_header = ls_column-r_column->create_header( ).
ls_column-r_column->set_position( gw_zlyt001-posit ).
CASE gw_zlyt001-field_type.
WHEN 'B'.
CREATE OBJECT lr_checkbox
EXPORTING
checked_fieldname = ls_column-id.
lr_column->set_cell_editor( lr_checkbox ).
WHEN 'C'.
WHEN 'D'.
CREATE OBJECT lr_link.
lr_link->set_text_fieldname( ls_column-id ).
ls_column-r_column->set_cell_editor( lr_link ).
lr_column->set_cell_editor( lr_link ).
WHEN 'E'.
WHEN 'F'.
WHEN OTHERS.
ENDCASE.
IF gw_zlyt001-text CS 'CRM/'."otr text使用特定格式的
gv_string = gw_zlyt001-text.
lr_column_header->set_text( zcl_otr=>get_text( gv_string ) ).
ELSE.
IF gw_zlyt001-text IS NOT INITIAL.
gv_string = gw_zlyt001-text.
lr_column_header->set_text( gv_string ).
ENDIF.
ENDIF.
ELSE.
ls_column-r_column->set_position( gw_zlyt001-posit ).
lr_column = lr_column_settings->get_column( ls_column-id ).
lr_column->set_visible( if_wdl_core=>visibility_none ).
ENDIF.
ENDIF.
ENDLOOP. DATA lr_buttonui TYPE REF TO cl_salv_wd_fe_button.
DATA lv_function TYPE REF TO cl_salv_wd_function. CREATE OBJECT lr_buttonui.
lr_buttonui->set_text( zcl_otr=>get_text( 'ZCRM/PRINT') ).
lr_buttonui->set_image_source( 'ICON_PRINT' ).
lv_function = l_value->if_salv_wd_function_settings~create_function( id = 'PRINT' ).
lv_function->set_alignment( '' ).
lv_function->set_editor( lr_buttonui ).
lv_function->set_visible( '' ). ENDMETHOD.
WDA基础十四:ALV字段属性配置表的更多相关文章
- WDA基础十六:ALV的颜色
这里介绍三种类型的颜色:列的背景色,单元格的背景色,单元格文本的颜色. 1.给ALV结构添加颜色控制字段: 三个字段都是同一类型:WDY_UIE_LIBRARY_ENUM_TYPE COL_BACKG ...
- Bootstrap<基础十四> 按钮下拉菜单
使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...
- Bootstrap入门(二十四)data属性
Bootstrap入门(二十四)data属性 你可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码.这是 Bootstrap 中的一 ...
- VSTO学习笔记(十四)Excel数据透视表与PowerPivot
原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...
- WDA基础十八:Select option配置
为了省代码...为了方便管理WDA的查询条件... 首先建配置表: 说明: 上面的KEY基本都是维护的维度,可以根据销售组织,根据用户组,根据组件,根据SELECT OPTION的不同...等等,可以 ...
- WDA基础五:ALV组件的使用
说明,因为ALV的功能比TABLE强大,所以在很多时候都习惯性的选择ALV显示. ALV是WDA的组件,封装好的,和SELECT OPTION一样.所以使用的方法一般就是:引入组件,初始化组件,数据绑 ...
- vue.js基础知识篇(3):计算属性、表单控件绑定
第四章:计算属性 为了避免过多的逻辑造成模板的臃肿不堪,可使用计算属性来简化逻辑. 1.什么是计算属性 <!DOCTYPE html><html lang="en" ...
- 阿里druid数据源属性配置表
https://cloud.tencent.com/developer/article/1368903 DRUID 属性说明表 属性(Parameter) 默认值(Default) 描述(Descri ...
- WDA基础十二:FREE PROGRAM SH (WDA TREE)
一个需要用TREE展示搜索帮助的需求: 1.创建WDA程序:ZCATEGORY 2.Component Controller中添加节点: (说明,此节点仅在搜索帮助程序中使用,可以不用interfac ...
随机推荐
- Nginx配置示例
server {listen 6080;server_name local.boheadmin; location / {proxy_pass http://127.0.0.1:8087;} loca ...
- HDU 5583 Kingdom of Black and White(暴力)
http://acm.hdu.edu.cn/showproblem.php?pid=5583 题意: 给出一个01串,现在对这串进行分组,连续相同的就分为一组,如果该组内有x个数,那么就对答案贡献x* ...
- javascript - 内存空间
也许很多人像我一样,觉得JS有垃圾回收机制,内存就可以不管了,以至于在全局作用域下定义了很多变量,自以为JS会自动回收,直到最近,看了阮一峰老师,关于javascript内存泄漏的文章时,才发现自己写 ...
- Newtonsoft.Json 去掉\r\n
itemKindList.ToString(Newtonsoft.Json.Formatting.None)
- 【Python】【jupyter-notebook】
1. win7 安装:https://www.cnblogs.com/zlslch/p/6984403.html 1.Jupyter Notebook 和 pip 为了更加方便地写 Python ...
- python 传递多个参数
def oper(a,*args): print(args) print(a) oper("q","s","d","z" ...
- win10上安装keras
下载Anaconda https://www.anaconda.com/ 点击进入下载界面 选择Windows版本64位,python3.7 下载完成后 ,双击安装 等待安装完成! 安装MinGW包, ...
- NET Core 指令启动
ASP.NET Core 是新一代的 ASP.NET,早期称为 ASP.NET vNext,并且在推出初期命名为ASP.NET 5,但随着 .NET Core 的成熟,以及 ASP.NET 5的命名会 ...
- [原][源码][tinyxml][opencv]按照规格剪切所有的图片
源码: #include <iostream> #include <fstream> #include <opencv2/core/core.hpp> #inclu ...
- spring框架 AOP核心详解
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子. 一 AOP的基本概念 (1)Asp ...