.类定义
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学习笔记21-推送证书与秘钥申请

    ---恢复内容开始--- 一.iOS证书 iOS常用的证书包括开发证书和发布证书,无论是真机调试还是最终发布应用到App Store这两个证书都是必须的,它是iOS开发的基本证书.Xcode7以后真机 ...

  2. 【bzoj4240】有趣的家庭菜园 贪心+树状数组

    题目描述 对家庭菜园有兴趣的JOI君每年在自家的田地中种植一种叫做IOI草的植物.JOI君的田地沿东西方向被划分为N个区域,由西到东标号为1~N.IOI草一共有N株,每个区域种植着一株.在第i个区域种 ...

  3. 【扫描线或树状数组】CSU 1335 高桥和低桥

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1335 [题意] 给定n座桥的高度,给定m次洪水每次的涨水水位ai和退水水位bi 询问有多少座桥 ...

  4. BZOJ3295 动态逆序对(树状数组套线段树)

    [Cqoi2011]动态逆序对 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 6058  Solved: 2117[Submit][Status][D ...

  5. Codeforces Round #284 (Div. 2) D. Name That Tune [概率dp]

    D. Name That Tune time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  6. Laravel 视图中的url

    <a href="{{ url('url') }}">url</a> <a href="{{ action('StudentControll ...

  7. T1553 互斥的数 codevs

    http://codevs.cn/problem/1553/ 题目描述 Description 有这样的一个集合,集合中的元素个数由给定的N决定,集合的元素为N个不同的正整数,一旦集合中的两个数x,y ...

  8. 某考试 T1 function

    (数据范围 n<=10^9 ,T<=10 ) 首先,我来证明一下 Σμ(d) * σ(i/d)^2 = σ(i^2) 相信做过约数个数和的童鞋都可以完成从右式推到左式,那么我现在就说一下怎 ...

  9. MFC中的几种播放声音的方法

    一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数.利用这些函数可以方便地播放声音.最简单的播放声音方法就是直接调用VC++中提供的声音播放函 数BOOL s ...

  10. foobar2000设置关闭按钮最小化到系统托盘

    1.设置托盘选项: 2.[File]->[Preferences]->[Advanced]->[Display]->[Default User Interface]->[ ...