OO实现ALV TABLE 四:SALV的显示样式
2021/4/12 10:25:28
本文主要是介绍OO实现ALV TABLE 四:SALV的显示样式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
通过类CL_SALV_DISPLAY_SETTINGS我们可以设置ALV的显示样式,主要包括ALV表头名称,列表颜色间隔显示,水平线是否显示,竖线是否显示等。
我们要取得类CL_SALV_DISPLAY_SETTINGS的实例,根据类CL_SALV_TABLE的方法get_display_settings可以取得显示样式的实例。
REPORT ZSALV-01. *SALV自定义按钮功能 *变量定义 DATA: S_ALV TYPE REF TO CL_SALV_TABLE. "class 定义 CLASS SALV_DISPLAY DEFINITION."基础类 PUBLIC SECTION. METHODS: DISPLAYDATA ."方法 EVENTS:FUNCTION ."事件 PRIVATE SECTION. DATA:LR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS, LR_EVENTS TYPE REF TO CL_SALV_EVENTS, LR_DISPLAY TYPE REF TO CL_SALV_DISPLAY_SETTINGS. ENDCLASS. CLASS SET_HANDLER DEFINITION. PUBLIC SECTION. "理解为为某个类的事件而产生的方法,相当于将2个类关联起来 METHODS:USER_COMMAND FOR EVENT ADDED_FUNCTION OF CL_SALV_EVENTS_TABLE"直接使用该类的function事件 IMPORTING E_SALV_FUNCTION. ENDCLASS. "class 实现 CLASS SALV_DISPLAY IMPLEMENTATION. METHOD DISPLAYDATA. SELECT * INTO TABLE @DATA(LT_VBAK) FROM VBAK UP TO 10 ROWS. TRY. CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = S_ALV CHANGING T_TABLE = LT_VBAK ). CATCH CX_SALV_MSG . ENDTRY. LR_EVENTS = S_ALV->GET_EVENT( )."获取事件 "设置ALV按钮功能 S_ALV->SET_SCREEN_STATUS( PFSTATUS = 'SALV_STANDARD' REPORT = SY-REPID SET_FUNCTIONS = S_ALV->C_FUNCTIONS_ALL ). *-------------------------- 设置ALV的显示样式------------------------------------------- LR_DISPLAY = S_ALV->GET_DISPLAY_SETTINGS( ). LR_DISPLAY->SET_STRIPED_PATTERN( 'X' )."设置颜色间隔显示 LR_DISPLAY->SET_LIST_HEADER( 'SLV展示报表DEMO' ). "设置ALV的抬头 LR_DISPLAY->SET_HORIZONTAL_LINES( '' ). "设置水平线是否显示 LR_DISPLAY->SET_VERTICAL_LINES( '' ). "设置垂直线是否显示 *-------------------------- 设置ALV的显示样式------------------------------------------- "=====事件注册 DATA:HANDLER TYPE REF TO SET_HANDLER. CREATE OBJECT HANDLER. SET HANDLER HANDLER->USER_COMMAND FOR ALL INSTANCES. S_ALV->DISPLAY( ). ENDMETHOD. ENDCLASS. CLASS SET_HANDLER IMPLEMENTATION. METHOD USER_COMMAND. PERFORM USER_CLICK USING E_SALV_FUNCTION. ENDMETHOD. ENDCLASS. FORM USER_CLICK USING P_SALV_FUNCTION TYPE SALV_DE_FUNCTION. CASE P_SALV_FUNCTION. WHEN '&CLICK'. MESSAGE '你点击了我!' TYPE 'I'. S_ALV->REFRESH( ). ENDCASE. ENDFORM. START-OF-SELECTION. DATA:LR_ALV TYPE REF TO SALV_DISPLAY. CREATE OBJECT LR_ALV. LR_ALV->DISPLAYDATA( ).
显示效果可以和上一篇作对比
这篇关于OO实现ALV TABLE 四:SALV的显示样式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南