.类定义
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. [BZOJ1582] [Usaco2009 Hol]Holiday Painting 节日画画(线段树)

    传送门 线段树区间修改傻题 #include <cstdio> #include <cstring> #include <iostream> #define N 5 ...

  2. BZOJ3122 [Sdoi2013]随机数生成器 【BSGS】

    题目 输入格式 输入含有多组数据,第一行一个正整数T,表示这个测试点内的数据组数. 接下来T行,每行有五个整数p,a,b,X1,t,表示一组数据.保证X1和t都是合法的页码. 注意:P一定为质数 输出 ...

  3. angular实时显示checkbox被选中的元素

    /** * Created by zh on 20/05/15. */ // Code goes here var iApp = angular.module("App", []) ...

  4. poj 3304 判断是否存在一条直线与所有线段相交

    Segments Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8579   Accepted: 2608 Descript ...

  5. EC++学习笔记(一) 习惯c++

    条款01:c++多范式编程语言 条款02:尽量以 const, enum, inline 替换#define 1. 提供类型安全检查 2. 去除函数调用开销 3. 避免宏的二义性 const doub ...

  6. 查看Linux版本的方法

    1)命令: lsb_release -a [root@localhost tmp]# lsb_release -a LSB Version: :core-4.0-amd64:core-4.0-noar ...

  7. leetcode 15. 3Sum 二维vector

    传送门 15. 3Sum My Submissions Question Total Accepted: 108534 Total Submissions: 584814 Difficulty: Me ...

  8. NOJ1203 最多约数问题 [搜索 数论]

    传送门 njczy2010 1203 Accepted 79MS   1400K 2321Byte G++ 2015-01-25 13:14:25.0 最多约数问题 时间限制(普通/Java) : 2 ...

  9. Codeforces Round #268 (Div. 2) D. Two Sets [stl - set + 暴力]

    8161957                 2014-10-10 06:12:37     njczy2010     D - Two Sets             GNU C++     A ...

  10. Mysql安装及自动化部署脚本方案

    一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...