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 ...
随机推荐
- 【C#】委托的发展
"用事件去处理程序, 进而解决问题" ---- 委托的目的 委托早在C#2的时候就已经初具模型, 但是并不是特别灵活, 制止C#3才在代码中被广泛使用. C#4中泛型委托, C#5 ...
- .Net Core Package lose or not match
错误.警告的说明: 示例一: 严重性:警告 代码:MSB3106 说明 :程序集强名称“C:\Users\$(computerName)\.nuget\packages\$(packageName)\ ...
- Tag Helpers in forms in ASP.NET Core
Tag Helpers in ASP.NET Core Tag Helpers in forms in ASP.NET Core HTML Form element ASP.NET Core buil ...
- ie 支持字体大小继承
今天需要实现字体大小继承这个效果.是这样的,在公用类里 .box 中的 .box1 的字体进行了修改.但是我的页面里不需要修改.我需要让他和 .box 一样.所以想到使用继承.但是想到继承这个属性兼容 ...
- Ajax - 汇总
1,什么是ajax? 为什么要使用ajax? 1.ajax是"asynchornous javascript and xml "的缩写,指一种创建交互式网页应用的网页开发技术. 2 ...
- _itemmod_extract_enchant随机附魔提取
技能 脚本 spell_extract_enchant 提取一条随机FM 随机FM提取 物品脚本:1.spell_extract_enchant 提取一条随机FM2.spell_extract_enc ...
- bzoj 1036: [ZJOI2008]树的统计Count 树链剖分+线段树
1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 16294 Solved: 6645[Submit ...
- 对前台传过来的实体是否为空 进行为空校验的N种方法
首先定义一个注解,如下 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import j ...
- Q-Q图
来自:https://mp.weixin.qq.com/s/_UTKNcOgKQcCogk2C2tsQQ 正负样本数据集符合独立同分布是构建机器学习模型的前提,从概率的角度分析,样本数据独立同分布是正 ...
- django人类可读性
一些Django的‘奇技淫巧’就存在于这些不起眼的地方. 为了提高模板系统对人类的友好性,Django在django.contrib.humanize中提供了一系列的模板过滤器,有助于为数据展示添加“ ...