ALV Configuration Model

来源:互联网 发布:java超市购物管理系统 编辑:程序博客网 时间:2024/06/05 08:26

 

所涉及到的CONFIGURATION操作如下:
• 设置可见行为5行.
• 设置指示灯.
• 设置排序列
• 删除不显示的列.

 

ALV后台绑定NODE中STATUS节点属性为STRING,系统中可用的指示灯状态如下: 'ICON_RED_LIGHT','ICON_YELLOW_LIGHT', 'ICON_GREEN_LIGHT'。

 

WDDOINIT()
METHOD wddoinit .

* Instantiate ALV component.
* Create component usage for alv component
DATA: l_ref_cmp_usage TYPE REF TO if_wd_component_usage.
l_ref_cmp_usage = wd_this->wd_cpuse_alv( ).
IF l_ref_cmp_usage->has_active_component( ) IS INITIAL.
l_ref_cmp_usage->create_component( ).
ENDIF.
[…]

* Call interface method GET_MODEL( ).

[…]
* Get config model
DATA: l_ref_interfacecontroller TYPE REF TO iwci_salv_wd_table .
l_ref_interfacecontroller = wd_this->wd_cpifc_alv( ).
DATA: l_value TYPE REF TO cl_salv_wd_config_table.
l_value = l_ref_interfacecontroller->get_model( ).
[…]

* Configure ALV.

* set visible row count  设可见行数

 l_value->if_salv_wd_table_settings~set_visible_row_count( '5' ).

 

 * Sort rows by seatsocc descending 指定列的排序
DATA: lr_field TYPE REF TO cl_salv_wd_field.
lr_field =
l_value->if_salv_wd_field_settings~get_field( 'SEATSOCC' ).
lr_field->if_salv_wd_sort~create_sort_rule( sort_order = if_salv_wd_c_sort=>sort_order_descending ).

 

* Display icon in column seatsocc 设置指示灯
DATA: lr_column TYPE REF TO cl_salv_wd_column,
lr_image TYPE REF TO cl_salv_wd_uie_image,
lv_icon TYPE string.
lr_column = l_value->if_salv_wd_column_settings~get_column( 'SEATSOCC' ).
CREATE OBJECT lr_image.
lr_image->SET_SOURCE_FIELDNAME( 'STATUS' ).
lr_column->set_cell_editor( lr_image ). "Display traffic light images in column 'SEATSOCCC'

 

 * delete column STATUS
l_value->if_salv_wd_column_settings~delete_column( 'STATUS' ).