资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
OO ALV 常用功能完整简例(热键单击,双击,帮助,编辑,自定义工具条等)(2013-07-23 14:18:51)转 载 标签: alvoo热键跳转ooalv分类: ALVOO ALV 常用功能简介目录OO ALV 常用功能简介一、所用类:二、效果图:单击双击F4 帮助编辑某单元格并校验三、实现过程:1、 创建一个屏幕 9001,不需要画任何控件2、 定义数据:3、 获取显示数据:4、 alv 显示数据:一、所用类:cl_gui_alv_gridcl_gui_docking_container二、效果图:执行: 单击单击航线单元格:双击 双击连接号码单元格:F4 帮助航班单元格上 F4 或点击 后面的小按钮(本功能在设置字段样式时实现 DEFINE mac_fieldlog.设置参考表和参考字段,为了提供搜索帮助wa_fieldcatalog-ref_table = &4. 参考表wa_fieldcatalog-ref_field = &5. 参考字段 编辑某单元格并校验修改价格后随便点击某个按钮或者双击某个字段,触发:handle_data_changed三、实现过程:1、 创建一个屏幕 9001,不需要画2、 定义数据:*&-*& ALV 全局变量*&-DATA: g_alv_grid TYPE REF TO cl_gui_alv_grid,ALV 控件alv_ctner TYPE REF TO cl_gui_docking_container.DATA: wa_fieldcatalog TYPE lvc_s_fcat, 显示数据列内表工作区域it_fieldcatalog TYPE lvc_t_fcat. 显示数据列内表DATA: g_event TYPE REF TO alv_event_receiver.*&-*& 全局变量*&-DATA:BEGIN OF str_spfli,checkbox TYPE char1, 复选框carrid TYPE sflight-carrid , 航线承运人 IDconnid TYPE sflight-connid , 航班连接 Idfldate TYPE sflight-fldate , 航班日期price TYPE sflight-price , 航空运费END OF str_spfli.DATA:g_it_show LIKE TABLE OF str_spfli WITH KEY checkbox carrid.g_wa_show LIKE str_spfli.3、 获取显示数据: 获取数据SELECT carridconnidfldatepriceFROM sflight INTO CORRESPONDING FIELDS OF TABLE g_it_show.4、 alv 显示数据:PROCESS BEFORE OUTPUT.MODULE STATUS_9001.alv 显示数据MODULE MDL_ALV_SHOW.*&-module MDL_ALV_SHOW output.PERFORM zform_alv_show.endmodule. *&-FORM zform_alv_show .DATA: l_style TYPE i,ls_layout TYPE lvc_s_layo,is_stable TYPE lvc_s_stbl,l_disvariant TYPE disvariant.* 屏幕初始化IF alv_ctner IS INITIAL.CREATE OBJECT alv_ctnerEXPORTINGrepid = sy-repiddynnr = 9001* side = cl_gui_docking_container=dock_at_right ”ALV 贴屏幕右边,从屏幕右边开始算宽度side = cl_gui_docking_container=dock_at_left ALV 贴屏幕左边,从左边算屏幕宽度,extension = 900 屏幕宽度可选参数,设置 ALV 是否可用手动拖动大小EXCEPTIONScntl_error = 1cntl_system_error = 2create_error = 3lifetime_error = 4lifetime_dynpro_dynpro_link = 5OTHERS = 6.IF sy-subrc set_ready_for_inputEXPORTINGi_ready_for_input = 1.* layout 设定样式CLEAR ls_layout.ls_layout-cwidth_opt = X. 优化列宽CLEAR l_disvariant.l_disvariant-report = sy-repid. 当前程序* event 绑定事件CREATE OBJECT g_event.自定义工具条SET HANDLER g_event-toolbar FOR g_alv_grid. 数据修改事件 SET HANDLER g_event-handle_data_changed FOR g_alv_grid.单击某一单元格事件SET HANDLER g_event-handle_cell_click FOR g_alv_grid.用户点击工具条上按钮触发的事件SET HANDLER g_event-handle_user_command FOR g_alv_grid.双击某一单元格事件SET HANDLER g_event-handle_double_click FOR g_alv_grid.以下两个方法达到的效果是:光标离开正在编辑的单元格时,就触发了 handle_data_changed如果不注释掉以下两个方法,则只有执行下一操作时才会触发 handle_data_changed,比如点保存、删除CALL METHOD g_alv_grid-register_edit_eventEXPORTINGi_event_id = cl_gui_alv_grid=mc_evt_modified.CALL METHOD g_alv_grid-register_edit_eventEXPORTINGi_event_id = cl_gui_alv_grid=mc_evt_enter.* 显示内表数据CALL METHOD g_alv_grid-set_table_for_first_displayEXPORTING is_layout = ls_layoutis_variant = l_disvariantit_toolbar_excluding = gt_toolsCHANGINGit_fieldcatalog = it_fieldcatalogit_outtab = g_it_show.ELSE.冲销设置 tcode 为 RELOAD,防止因为原来的 tcode 影响程序执行CALL METHOD cl_gui_cfw=set_new_ok_codeEXPORTINGnew_code = RELOAD.ALV 控制:刷新稳定性 按行刷新,可选参数CLEAR is_stable.is_stable-col = X.刷新CALL METHOD g_alv_grid-refresh_table_displayEXPORTINGis_stable = is_stablei_soft_refresh = X.提交CALL METHOD cl_gui_cfw=flush. ENDIF.ENDFORM. ZFORM_ALV_SHOW其中:添加工具条上常用按钮FORM frm_set_alv_toolbar .REFRESH gt_tools.你也可以删除标准的功能按钮DELETE e_object-mt_toolbar WHERE FUNCTION = &DETAIL.DELETE e_object-mt_toolbar WHERE FUNCTION = &REFRESH.DELETE e_object-mt_toolbar WHERE FUNCTION = &LOCAL&UNDO.DELETE e_object-mt_toolbar WHERE FUNCTION = &SORT_ASC.DELETE e_object-mt_toolbar WHERE FUNCTION = &SORT_DSC.DELETE e_object-mt_toolbar WHERE FUNCTION = &FIND.DELETE e_object-mt_toolbar WHERE FUNCTION = &FIND_MORE. DELETE e_object-mt_toolbar WHERE FUNCTION = &MB_FILTER.DELETE e_object-mt_toolbar WHERE FUNCTION = &MB_SUM.DELETE e_object-mt_toolbar WHERE FUNCTION = &MB_SUBTOT.DELETE e_object-mt_toolbar WHERE FUNCTION = &MB_EXPORT.DELETE e_object-mt_toolbar WHERE FUNCTION = &MB_VARIANT.D
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号