.类定义
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS:
handle_data_changed_finished FOR EVENT data_changed_finished OF cl_gui_alv_grid IMPORTING e_modified et_good_cells,
handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive.
ENDCLASS. "lcl_event_handler DEFINITION DATA gs_toolbar TYPE stb_button.
*----------------------------------------------------------------------*
* CLASS lcl_event_handler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION. METHOD handle_data_changed_finished.
PERFORM f_data_changed_finished USING e_modified et_good_cells.
ENDMETHOD. "handle_data_changed_finished
METHOD handle_toolbar.
ENDMETHOD.
ENDCLASS. 。data_changed_finished 所响应的事件
FORM f_data_changed_finished USING p_modified TYPE char1
pt_good_cells TYPE lvc_t_modi.
DATA: w_ih_modi TYPE lvc_s_modi,
w_ih_output TYPE typ_output. DATA: w_pernr TYPE zwmt036-pernr,
w_zwmt036 TYPE zwmt036,
w_zwmt035 TYPE zwmt035,
w_zwmt126 TYPE zwmt126,
w_t300t TYPE t300t,
w_t30at TYPE t30at. CHECK pt_good_cells IS NOT INITIAL. CALL METHOD g_grid_9021->check_changed_data
* IMPORTING
* e_valid =
* CHANGING
* c_refresh = 'X'
. CLEAR flg_error.
LOOP AT pt_good_cells INTO w_ih_modi.
CLEAR w_ih_output.
READ TABLE g_it_output_show INTO w_ih_output INDEX w_ih_modi-row_id.
CASE w_ih_modi-fieldname.
WHEN 'PERNR'.
IF w_ih_modi-value IS INITIAL.
IF w_ih_output-perna IS NOT INITIAL.
CLEAR w_ih_output-perna.
MODIFY g_it_output_show[] FROM w_ih_output INDEX w_ih_modi-row_id.
ENDIF.
ELSE.
CLEAR: w_pernr,w_zwmt036.
SELECT SINGLE *
FROM zwmt036
INTO w_zwmt036
WHERE pernr = w_ih_modi-value.
IF sy-subrc IS INITIAL.
w_ih_output-perna = w_zwmt036-perna.
w_ih_output-werks = w_zwmt036-werks.
w_ih_output-lgnum = w_zwmt036-lgnum.
w_ih_output-kqbsf = w_zwmt036-kqbsf.
w_ih_output-kqtxt = w_zwmt036-kqtxt. IF w_ih_output-werks NE p_werks.
flg_error = ''.
ENDIF. CLEAR w_t300t.
SELECT SINGLE *
FROM t300t
INTO w_t300t
WHERE spras = ''
AND lgnum = w_zwmt036-lgnum.
w_ih_output-lnumt = w_t300t-lnumt. MODIFY g_it_output_show[] FROM w_ih_output INDEX w_ih_modi-row_id.
ELSE.
flg_error = ''.
ENDIF.
ENDIF.
ENDCASE. ENDLOOP. CALL METHOD g_grid_9021->refresh_table_display
* EXPORTING
* is_stable =
* i_soft_refresh =
EXCEPTIONS
finished =
OTHERS =
.
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. .注册事件
这一步放在,pbo创建alv的时候。
CREATE OBJECT gcl_event_handler.
SET HANDLER gcl_event_handler->handle_data_changed_finished FOR g_grid_9021. CALL METHOD g_grid_9021->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified
EXCEPTIONS
error =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

OOalv 实现带出栏位描述的更多相关文章

  1. c#中将字符串转换成带2位小数的浮点数

    今天遇到一个展示酒店价格的需求,觉得是要显示成“¥0.00”样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 "; string amount = string.Empty; ...

  2. 对Textbox的值转换为带千位符和小数的Decimal字符串

    以下Function可以用于textbox的KeyUp事件: 2014-06-06 发现旧版IE不支持selectionStart还有字符串的"[]"索引获取值, 已经修复这个bu ...

  3. 电赛总结(二)——AD之STM32F102ZE单片机自带12位AD

    直接上程序即可 #ifndef __ADC_H #define __ADC_H #include "stm32f10x.h" #include "LCD3.2.h&quo ...

  4. STM32 M3内核的位带操作原理及步骤

    STM32 M3内核的位带操作原理及步骤 一.位带操作有什么用?什么是位带操作 位带操作的作用:可以实现对某一GPIO口寄存器(或SRAM内存中)的某一bit位直接写0或1,达到控制GPIO口输出(或 ...

  5. 第13章 GPIO—位带操作

    第13章     GPIO—位带操作 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  6. STM32—位带操作

    STM32中的位带操作: 名字为位带操作,实际上是对位的操作,位操作就是可以单独的对一个比特位读和写,这个在 51 单片机中非常常见. 51 单片机中通过关键字 sbit 来实现位定义, STM32 ...

  7. (stm32学习总结)—GPIO位带操作

    本章参考资料:<STM32F10X-中文参考手册>存储器和总线构架章节.GPIO 章节,<CM3 权威指南 CnR2>存储器系统章节. 位带简介 位操作就是可以单独的对一个比特 ...

  8. HID 报告描述符精细说明.

    1,报告描述符概述    1.1) 报表描述符        报表描述符和USB的其他描述符是不一样的,它不是一个简单的表格,报表描述符是USB所有描述符中最复杂的.报表描述符非常复杂而有弹性,因为它 ...

  9. 带EFI支持的GRUB2安装全记录

    版权归作者所有,任何形式转载请联系作者. 作者:keenshoes(来自豆瓣) 来源:https://www.douban.com/note/210077866/  关键词:EFIGRUB2efibo ...

随机推荐

  1. iOS学习笔记05-触摸事件

    一.事件分发处理[由外到内] 在iOS中发生触摸后,事件会加到UIApplication事件队列,UIApplication会从事件队列取出最前面的事件进行分发处理,通常会先分发给主窗口,主窗口会调用 ...

  2. [BZOJ1574] [Usaco2009 Jan]地震损坏Damage(贪心 + dfs)

    传送门 告诉你一些点不能到达1,由于是双向边,也就是1不能到达那些点 那么从1开始dfs,如果当前点能到达不能到达的点,那么当前点就是损坏的. #include <cstdio> #inc ...

  3. COdevs 1074 食物链

    1074 食物链 2001年NOI全国竞赛  时间限制: 3 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond 题目描述 Description 动物王国中有三类动物 A,B,C, ...

  4. 在echars上发布的半圆环形图

    http://gallery.echartsjs.com/editor.html?c=xBJvoMcPfz&v=1

  5. 【shell】shell编程(四)-循环语句

    上篇我们学习了shell中条件选择语句的用法.接下来本篇就来学习循环语句.在shell中,循环是通过for, while, until命令来实现的.下面就分别来看看吧. for for循环有两种形式: ...

  6. 使用plantuml生成uml图

    主要包括以下三步: 一.到http://plantuml.com/download 下载plantuml.jar ,我将这个软件放置到home的/home/munication/WORKM/Progr ...

  7. CSV文件导出2

    public void exportCSVFile( HttpServletResponse response, ResultSet rs,String fileName,String headers ...

  8. 在 Windows 下用 TDM-GCC(MinGW)开发 DLL 涉及到数据同步锁及 DLL 初始化终止化函数的问题

    在 Windows 下用 TDM-GCC(MinGW)开发 DLL 如果要用到数据同步锁,理论上可以采用 Windows API 提供的临界区实现(需要用到的函数有 InitializeCritica ...

  9. JS实现限行

    一.JS代码实现 1. 机动车辆限行如下图所示: 具体详情请访问:http://www.bjjtgl.gov.cn/zhuanti/10weihao/index.html 2.JS代码实现 <! ...

  10. Maven打包时过滤测试代码或指定特定的测试类(maven-surefire-plugin)

    1.过滤整个测试代码,可以直接在命令行上指定 mvn clean install -Dmaven.test.skip=true 提示:以上为举例,具体的构建阶段可以自定义,其中maven.test.s ...