ALV在标准按钮上增加自定义按钮,并实现文本及功能互相切换
2017-02-22 16:18
471 查看
创建实现按钮添加和按钮响应的类方法:
定义类和方法使用的全局变量:
将定义的类方法分配给类使用:
这样自定义按钮及其功能就实现了
*&---------------------------------------------------------------------* *& 包含 ZSDF011_CLASS *&---------------------------------------------------------------------* CLASS lcl_handle_cell_events DEFINITION DEFERRED. *---------------------------------------------------------------------* * CLASS lcl_handle_events DEFINITION *---------------------------------------------------------------------* * define a local class for handling events of cl_salv_table *---------------------------------------------------------------------* CLASS lcl_handle_cell_events DEFINITION. PUBLIC SECTION. METHODS: on_double_cell_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING e_row e_column es_row_no. METHODS:mt_toolbar_add FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING e_object. METHODS:mt_func_event FOR EVENT user_command OF cl_gui_alv_grid IMPORTING e_ucomm. ENDCLASS. *---------------------------------------------------------------------* * CLASS lcl_handle_events IMPLEMENTATION *---------------------------------------------------------------------* * implement the events for handling the events of cl_salv_table *---------------------------------------------------------------------* CLASS lcl_handle_cell_events IMPLEMENTATION. METHOD on_double_cell_click. DATA ls_yck TYPE zsds087. CLEAR:gv_kunag,gv_kunrg,ls_yck,gv_mark. READ TABLE gt_alv_yck INTO ls_yck INDEX es_row_no-row_id. "判断行号 gv_kunag = ls_yck-kunag. gv_kunrg = ls_yck-kunrg. PERFORM frm_get_czjldata USING gv_kunag gv_kunrg. PERFORM frm_get_djqddata USING gv_kunag gv_kunrg. PERFORM frm_diaplay_alv_refresh. ENDMETHOD. METHOD mt_toolbar_add. DATA ls_button TYPE stb_button. IF gv_mark = 'X'. CLEAR ls_button. ls_button-butn_type = '3'. APPEND ls_button TO e_object->mt_toolbar. CLEAR ls_button. ls_button-function = 'CHANGE'. ls_button-icon = '@BB@'. ls_button-text = '切换到客户记录'. APPEND ls_button TO e_object->mt_toolbar. ELSE. CLEAR ls_button. ls_button-butn_type = '3'. APPEND ls_button TO e_object->mt_toolbar. CLEAR ls_button. ls_button-function = 'ECHANGE'. ls_button-icon = '@BB@'. ls_button-text = '切换到全部记录'. APPEND ls_button TO e_object->mt_toolbar. ENDIF. ENDMETHOD. METHOD mt_func_event. DATA:lv_kunag TYPE kna1-kunnr, lv_kunrg TYPE kna1-kunnr. CASE e_ucomm. WHEN 'CHANGE'. CLEAR:lv_kunag,lv_kunrg,gt_alv_czjl[],gt_alv_djqd,gv_mark. lv_kunag = gv_kunag. lv_kunrg = gv_kunrg. PERFORM frm_get_czjldata USING lv_kunag lv_kunrg. PERFORM frm_get_djqddata USING lv_kunag lv_kunrg. PERFORM frm_diaplay_alv_refresh. WHEN 'ECHANGE'. CLEAR:lv_kunag,lv_kunrg,gt_alv_czjl[],gt_alv_djqd[],gv_mark. gv_mark = 'X'. lv_kunag = gv_kunag. PERFORM frm_get_czjldata USING lv_kunag lv_kunrg. PERFORM frm_get_djqddata USING lv_kunag lv_kunrg. PERFORM frm_diaplay_alv_refresh. WHEN OTHERS. ENDCASE. ENDMETHOD. ENDCLASS. DATA gr_events TYPE REF TO lcl_handle_cell_events."定义事件
定义类和方法使用的全局变量:
DATA: gt_container TYPE REF TO cl_gui_custom_container, gt_container1 TYPE REF TO cl_gui_container, gt_container2 TYPE REF TO cl_gui_container, gt_container3 TYPE REF TO cl_gui_container. DATA: gt_alv_grid1 TYPE REF TO cl_gui_alv_grid, gt_alv_grid2 TYPE REF TO cl_gui_alv_grid, gt_alv_grid3 TYPE REF TO cl_gui_alv_grid. DATA:gv_kunag TYPE kna1-kunnr, "售达方 gv_kunrg TYPE kna1-kunnr, "付款方 gv_mark(1) TYPE c.
将定义的类方法分配给类使用:
CLEAR gwa_layout_lvc-grid_title. gwa_layout_lvc-grid_title = '文本描述' . CREATE OBJECT gr_events. SET HANDLER gr_events->mt_toolbar_add FOR gt_alv_grid2. SET HANDLER gr_events->mt_func_event FOR gt_alv_grid2. CALL METHOD gt_alv_grid2->set_table_for_first_display EXPORTING is_layout = gwa_layout_lvc it_toolbar_excluding = gt_exclude i_save = 'A' CHANGING it_outtab = gt_alv_czjl it_fieldcatalog = gt_fieldcat_czjllvc.
这样自定义按钮及其功能就实现了
相关文章推荐
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- 在选择屏幕的标准应用工具条上增加自定义按钮(-)
- 在1000选择屏幕的标准应用工具条上增加自定义按钮
- (转自ztp800201) Android - 自定义标题栏(在标题栏中增加按钮和文本居中)
- (ios实战) UINavigationBar 返回按钮 文本自定义实现
- MFC功能实现单选按钮通道切换对话框有记忆功能
- 在选择屏幕的标准应用工具条上增加自定义按钮(-)
- 在选择屏幕的标准应用工具条上增加自定义按钮
- FUN ALV TOOLBAR 增加自定义按钮
- 转:在选择屏幕的标准应用工具条上增加自定义按钮(-)
- 在选择屏幕的标准应用工具条上增加自定义按钮(-)
- 主界面设计+自定义按钮实现tab控件功能
- 在选择屏幕的标准应用工具条上增加自定义按钮(-)
- 如何在服务端标准功能controllerbean上增加客户化的实现?
- 如何在选择屏幕的标准应用工具条上增加自定义按钮
- android - 自定义标题栏(在标题栏中增加按钮和文本居中)
- 为FckEditor增加插件,添加自定义的功能按钮ToolBarButton
- 增加自定义按钮风格功能! – 社会化分享按钮
- Android自定义View实现图片显示,并实现缩放、拖拽、切换功能
- MFC功能实现单选按钮通道切换对话框有记忆功能