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字段属性配置表的更多相关文章

  1. WDA基础十六:ALV的颜色

    这里介绍三种类型的颜色:列的背景色,单元格的背景色,单元格文本的颜色. 1.给ALV结构添加颜色控制字段: 三个字段都是同一类型:WDY_UIE_LIBRARY_ENUM_TYPE COL_BACKG ...

  2. Bootstrap<基础十四> 按钮下拉菜单

    使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...

  3. Bootstrap入门(二十四)data属性

    Bootstrap入门(二十四)data属性 你可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码.这是 Bootstrap 中的一 ...

  4. VSTO学习笔记(十四)Excel数据透视表与PowerPivot

    原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...

  5. WDA基础十八:Select option配置

    为了省代码...为了方便管理WDA的查询条件... 首先建配置表: 说明: 上面的KEY基本都是维护的维度,可以根据销售组织,根据用户组,根据组件,根据SELECT OPTION的不同...等等,可以 ...

  6. WDA基础五:ALV组件的使用

    说明,因为ALV的功能比TABLE强大,所以在很多时候都习惯性的选择ALV显示. ALV是WDA的组件,封装好的,和SELECT OPTION一样.所以使用的方法一般就是:引入组件,初始化组件,数据绑 ...

  7. vue.js基础知识篇(3):计算属性、表单控件绑定

    第四章:计算属性 为了避免过多的逻辑造成模板的臃肿不堪,可使用计算属性来简化逻辑. 1.什么是计算属性 <!DOCTYPE html><html lang="en" ...

  8. 阿里druid数据源属性配置表

    https://cloud.tencent.com/developer/article/1368903 DRUID 属性说明表 属性(Parameter) 默认值(Default) 描述(Descri ...

  9. WDA基础十二:FREE PROGRAM SH (WDA TREE)

    一个需要用TREE展示搜索帮助的需求: 1.创建WDA程序:ZCATEGORY 2.Component Controller中添加节点: (说明,此节点仅在搜索帮助程序中使用,可以不用interfac ...

随机推荐

  1. 【C#】委托的发展

    "用事件去处理程序, 进而解决问题" ---- 委托的目的 委托早在C#2的时候就已经初具模型, 但是并不是特别灵活, 制止C#3才在代码中被广泛使用. C#4中泛型委托, C#5 ...

  2. .Net Core Package lose or not match

    错误.警告的说明: 示例一: 严重性:警告 代码:MSB3106 说明 :程序集强名称“C:\Users\$(computerName)\.nuget\packages\$(packageName)\ ...

  3. 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 ...

  4. ie 支持字体大小继承

    今天需要实现字体大小继承这个效果.是这样的,在公用类里 .box 中的 .box1 的字体进行了修改.但是我的页面里不需要修改.我需要让他和 .box 一样.所以想到使用继承.但是想到继承这个属性兼容 ...

  5. Ajax - 汇总

    1,什么是ajax? 为什么要使用ajax? 1.ajax是"asynchornous javascript and xml "的缩写,指一种创建交互式网页应用的网页开发技术. 2 ...

  6. _itemmod_extract_enchant随机附魔提取

    技能 脚本 spell_extract_enchant 提取一条随机FM 随机FM提取 物品脚本:1.spell_extract_enchant 提取一条随机FM2.spell_extract_enc ...

  7. bzoj 1036: [ZJOI2008]树的统计Count 树链剖分+线段树

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 16294  Solved: 6645[Submit ...

  8. 对前台传过来的实体是否为空 进行为空校验的N种方法

    首先定义一个注解,如下 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import j ...

  9. Q-Q图

    来自:https://mp.weixin.qq.com/s/_UTKNcOgKQcCogk2C2tsQQ 正负样本数据集符合独立同分布是构建机器学习模型的前提,从概率的角度分析,样本数据独立同分布是正 ...

  10. django人类可读性

    一些Django的‘奇技淫巧’就存在于这些不起眼的地方. 为了提高模板系统对人类的友好性,Django在django.contrib.humanize中提供了一系列的模板过滤器,有助于为数据展示添加“ ...