ABAP - OOALV 用户交互事件

  • 当用户要根据ALV进行某些功能操作比如打印表单时,OOALV标准按钮无法满足用户需求的时候,就要用到自定义按钮来实现了。
  • 思路:在OOALV增加一个自定义按钮,类CL_GUI_ALV_GRID提供了内置事件toolbar来完成,通过自定义按钮的命令码实现OOALV联动,类CL_GUI_ALV_GRID提供了内置事件user_command来完成。
  • 实现步骤:
  1. 增加自定义按钮:
    CLASS cl_event DEFINITION.
      PUBLIC SECTION.
        METHODS handle_toolbar FOR EVENT toolbar
          OF cl_gui_alv_grid
          IMPORTING e_object
                    e_interactive.
    ENDCLASS.
    
    
    CLASS cl_event IMPLEMENTATION.
      METHOD handle_toolbar.
        DATA ls_button TYPE stb_button.
        CLEAR:ls_button.
    
        ls_button-function  = 'PRINT'.        "功能码
        ls_button-text      = '打印成绩单'.   "文本描述
        ls_button-icon      = icon_print.     "图标
        ls_button-quickinfo = '以PDF格式打印'."鼠标悬停在按钮时的简要说明
        "  ls_button-disabled  = 1.              "是否可用 1/0
        "按钮类型:0默认 1菜单和缺省 2菜单 3分隔符 4单选按钮 5复选框 6菜单项
        ls_button-butn_type = 0.
        APPEND ls_button TO e_object->mt_toolbar.
      ENDMETHOD.
    
    ENDCLASS.
     
  2.  按钮命令事件处理
    CLASS cl_event DEFINITION.
      PUBLIC SECTION.
        METHODS handle_user_command  FOR EVENT user_command
          OF cl_gui_alv_grid
          IMPORTING e_ucomm.  " 用户命令码
    
    ENDCLASS.
    
    CLASS cl_event IMPLEMENTATION.
      METHOD handle_user_command.
        CASE e_ucomm.
          WHEN 'PRINT'.
            MESSAGE '你点击了自定义打印按钮' TYPE 'I'.
          WHEN OTHERS.
        ENDCASE.
      ENDMETHOD.
    ENDCLASS.
     
  3.  通过事件处理类的实例对象给OOALVDUI的实例对象设置注册事件
      CREATE OBJECT go_con
        EXPORTING
          container_name = 'CONTORL'.
    
      CREATE OBJECT go_alv
        EXPORTING
          I_parent = go_con.
    
      DATA(lo_event) = NEW cl_event( ).
    
      SET HANDLER lo_event->handle_toolbar       FOR go_alv.
      SET HANDLER lo_event->handle_user_command  FOR go_alv.
     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/421349.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

回归啦!!!

消失的日子在实习,今天最后一天了来看看自己的学习日志,有没有可以和小伙伴交流的部分吧! 目录 一、产品one ①简介 ②底层原理 ③知识点一 作用一:日志采集 作用二:实时监测 作用三:规则匹配 作用…

lotus 从矿工可用余额扣除扇区质押

修改 miner配置文件 # Whether to use available miner balance for sector collateral instead of sending it with each message## type: bool# env var: LOTUS_SEALING_COLLATERALFROMMINERBALANCE#CollateralFromMinerBalance falseCollateralFromMinerBalance true质押金…

SemiDrive E3 MCAL 开发系列(3)– Wdg 模块的使用

一、 概述 本文将会介绍 SemiDrive E3 MCAL Wdg 模块的基本配置,并且会结合实际操作的介绍,帮助新手快速了解并掌握这个模块的使用,文中的 MCAL 是基于 PTG3.0 的版本,开发板是官方的 E3640 网关板。 二、 Wdg 模块的主要配置 …

加密与安全_探索对称加密算法

文章目录 概述常用的对称加密算法AESECB模式CBC模式 (推荐)ECB VS CBC 附:AES工具类总结 概述 对称加密算法是一种加密技术,使用相同的密钥来进行加密和解密数据。在这种算法中,发送方使用密钥将明文(未加密的数据)转…

ApplicationContext为什么可以通过@Autowired 进行注入

一、分析 在我们日常开发中,有时我们会使用这样的的一段代码 app.getBean(User.class);那么这里的app就是ApplicationContext,如何获得这个ApplicatitionContext呢,无非就两种方式 实现ApplicationContextAware接口中的 setApplicationCon…

uniApp 调整小程序 单个/全部界面横屏展示效果

我们打开uni项目 小程序端运行 默认是竖着的一个效果 我们打开项目的 pages.json 给需要横屏的界面 的 style 属性 加上 "mp-weixin": {"pageOrientation": "landscape" }界面就横屏了 如果是要所有界面都横屏的话 就直接在pages.json 的 gl…

01、MongoDB -- 下载、安装、配置文件等配置 及 副本集配置

目录 MongoDB -- 下载、安装、配置 及 副本集配置启动命令启动 mongodb 的服务器(单机和副本集)启动单机模式的 mongodb 服务器启动副本集的 3 个副本节点(mongodb 服务器) 启动 mongodb 的客户端 MongoDB 下载MongoDB 安装1、解压…

2024全国水科技大会暨高氨氮废水厌氧氨氧化处理技术论坛(四)

一、会议背景 为积极应对“十四五”期间我国生态环境治理面临的挑战,加快生态环境科技创新,构建绿色技术创新体系,全面落实科学技术部、生态环境部等部委编制的《“十四五”生态环境领域科技创新专项规划》,积极落实省校合作&…

ABAP - SALV教程 01- 开篇:打开SALV的三种方式之一

关于SALV,这里参考巨佬江正军的文章讲解,在做SAP开发的遇到困难和瓶颈的时候,每每读到巨佬的文章都会灵感爆发、醍醐灌顶。https://www.cnblogs.com/jiangzhengjun/p/4291387.html 博主由于是由JAVA转型的ABAP开发,刚接触ABAP的时…

AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案

一、背景介绍 随着城市化进程的加速,垃圾处理问题日益受到人们的关注,传统的垃圾站管理方式已经无法满足现代社会的需求。针对当前垃圾站的监管需求,TSINGSEE青犀可基于旗下视频智能检测AI智能分析网关V4与安防监控视频综合管理系统EasyCVR平…

OGMN: Occlusion-guided Multi-task Network for Object Detection in UAV Images

OGMN: Occlusion-guided Multi-task Network for Object Detection in UAV Images用于无人机图像目标检测的遮挡引导多任务网络 摘要 物体之间的遮挡是无人机图像中物体检测中被忽视的挑战之一。由于无人机的高度和角度可变,无人机图像中的遮挡比自然场景中的遮挡…

Redis 之五:Redis 的主从复制

概念 主从复制,是指将一台 Redis 服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 默认情况下,每台Redis服务器都是主节…

(二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布

前言 本节内容会介绍如何使用Docker Pipeline插件实现docker项目的pipeline流水线项目的可持续化集成发布,在开始本节内容之前,我们要先搭建好docker环境,以及镜像本地存储仓库docker harbor,关于docker和docker harbor的安装,可查看作者往期博客内容。 正文 ①安装Doc…

【AIGC】“光影交织的恋曲:绝美情侣在蓝天下的深情互动“

外貌特征 (Physical Appearance):给远景镜头,这对情侣拥有出众的容貌和气质。男子身材挺拔,五官立体鲜明,阳光洒在他俊朗的脸庞上,更显英气逼人;女子则拥有一头柔顺亮丽的秀发,明亮的眼睛如同星…

动态规划课堂3-----简单多状态问题(买卖股票最佳时机)

目录 引入: 例题1:按摩师(打家劫舍I) 例题2:打家劫舍II 例题3:删除并获得点数 例题4:粉刷房子 例题5:买卖股票的最佳时机含冷冻 结语: 引入: 相信看到…

指针篇章-(1)

指针(1)学习流程 —————————————————————————————————————————————————————————————————————————————————————————————————————————————…

QML中表格中数据获取

1.在生成的动态表格中获取某格数据的内容 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableMod…

探索Redis 6.0的新特性

Redis(Remote Dictionary Server)是一个开源的内存中数据结构存储系统,通常被用作缓存、消息队列和实时数据处理等场景。它的简单性、高性能以及丰富的数据结构支持使其成为了众多开发者和企业的首选。在Redis 6.0版本中,引入了一…

ubuntu22.04 成功编译llvm和clang 3.4.0,及 bitcode 函数名示例,备忘

1, 获取llvm 仓库 从github上获取: $ git clone --recursive https://github.com/llvm/llvm-project.git 2, 检出 llvmorg-3.4.0 tag 针对llvm 3.4.0版本,检出 $ cd llvm-project $ git tag $ git checkout llvmorg-3.4.0 3, 配置并编译llvm 使用 M…

矩阵爆破逆向之条件断点的妙用

不知道你是否使用过IDA的条件断点呢?在IDA进阶使用中,它的很多功能都有大作用,比如:ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大,配合IDA-python的输出语句能够大杀特杀! 那么本文就介绍一下这…