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 toolbarOF cl_gui_alv_gridIMPORTING e_objecte_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_commandOF cl_gui_alv_gridIMPORTING 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_conEXPORTINGcontainer_name = 'CONTORL'.CREATE OBJECT go_alvEXPORTINGI_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.
     

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot+Vue实战:打造企业级项目管理神器

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

c# 获取源码路径与当前程序所在路径

获取源码路径 private static string GetFilePath([CallerFilePath] string path null) {return path;}//当程序所在路径string str67 System.Environment.CurrentDirectory;//源码路径 var path GetFilePath();var directory Path.GetDirectoryName(path);参考

作业1-224——P1331 海战

思路 深搜的方式&#xff0c;让它只遍历矩形块&#xff0c;然后在下面的遍历中判断是否出现矩形块交叉&#xff0c;但是很难实现&#xff0c;然后发现可以通过在遍历过程中判断是否合法。 参考代码 #include<iostream> #include<cstdio> using namespace std; …

vue3 构建项目

一.使用vite构建&#xff1a; npm init vitelatest 项目名称 构建的项目模板 进入项目 cd 项目名称 安装项目依赖包 npm install 启动项目 npm run dev 二.使用vue脚手架构建&#xff1a; npm init vuelatest 后续基本差不多

你真的了解C语言中的【柔性数组】吗~

柔性数组 1. 什么是柔性数组2. 柔性数组的特点3. 柔性数组的使用4. 柔性数组的优势 1. 什么是柔性数组 也许你从来没有听说过柔性数组这个概念&#xff0c;但是它确实是存在的。 C99中&#xff0c;结构体中的最后⼀个元素允许是未知大小的数组&#xff0c;这就叫做柔性数组成员…

2024.2.27每日一题

之前是出去旅游了没发&#xff0c;现在开学了&#xff0c;继续每日一题&#xff0c;继续卷&#xff0c;一上来就是困难题&#x1f613;&#xff0c;直接cv大法。 LeetCode 统计树中的合法路径数目 2867. 统计树中的合法路径数目 - 力扣&#xff08;LeetCode&#xff09; 题目…

蓝桥杯机试C++编译器设置

一、参赛机器环境 二、codeblocks设置C11 点击确定即可~ [-stdc11]&#xff1a;指定gcc编译器遵循的C语言规范为C11标准 [-stdc11]&#xff1a;指定g编译器遵循的C语言规范为C11标准。 可以只选择下面的[-stdc11]因为C兼容C语言。 其中如果是英文界面&#xff1a; 设置&#xf…

小工具——抖音短视频评论自动同步

很多时候喜欢看抖音的评论&#xff0c;有时候评论也是一个查疑解惑的好地方&#xff0c;很多人也喜欢把抖音的评论集中起来做分析。 因为一个朋友问过我这回事&#xff0c;闲着的时候也研究了下抖音&#xff0c;所以自己做了个小工具&#xff0c;自动同步你观看的抖音短视频的…

利用命名管道实现任意进程间的通信

我们知道每个进程都有自己的虚拟地址空间&#xff0c;其中包括了用户空间和内核空间&#xff0c;用户空间是进程可以访问的地址空间&#xff0c;内核空间就是操作系统内核独享的部分&#xff0c;所以任意进程共享内核空间。 此时&#xff0c;我们就可以借助内核开辟一块内存用于…

公司新招了个腾讯拿38K的人,让我见识到了什么才是测试天花板···

5年测试&#xff0c;应该是能达到资深测试的水准&#xff0c;即不仅能熟练地开发业务&#xff0c;而且还能熟悉项目开发&#xff0c;测试&#xff0c;调试和发布的流程&#xff0c;而且还应该能全面掌握数据库等方面的技能&#xff0c;如果技能再高些的话&#xff0c;甚至熟悉分…

【白嫖8k买的机构vip教程】Appium自动化(3):Appium-Desktop界面介绍

Appium-Desktop主界面包含三个菜单Simple、Advanced、Presets Simple界面&#xff1a; Host设置Appium server的ip地址&#xff0c;本地调试可以将ip地址修改为127.0.0.1&#xff1b;Port设置端口号&#xff0c;默认是4723不用修改Start Server 启动 Appium serverEdit Confi…

图片的处理库Thumbnailator

摘要&#xff1a;最近遇到图片处理的问题&#xff0c;借助了Thumbnailator库&#xff0c;记录下使用步骤如下…… 图片处理&#xff0c;JDK中也提供了对应的工具类&#xff0c;不过处理较麻烦&#xff0c;Thumbnailator 是Google一个 开源Java 图像处理库&#xff0c;用于简化 …