ABAP - SALV教程08 列设置热点及绑定点击事件

  •   实现思路:将列设置成热点,热点列是可点击的,再给SALV实例对象注册点击事件即可,一般作用于点击单号跳转到前台等功能
  •  "设置热点方法METHODS:set_hotspot CHANGING co_alv TYPE REF TO cl_salv_table...."事件处理方法METHODS:on_link_click FOR EVENT link_click OF cl_salv_events_tableIMPORTINGrowcolumn.METHOD set_hotspot.DATA lo_col TYPE REF TO cl_salv_column_table."获取所有列对象的引用DATA(lo_cols) = co_alv->get_columns( ).TRY."获取群体列对象中VBELN列转换成CL_SALV_COLUMN_TABLE类型lo_col ?= lo_cols->get_column( 'VBELN' )."调用方法将列设置成热点lo_col->set_cell_type( EXPORTING value = if_salv_c_cell_type=>hotspot ).CATCH cx_salv_data_error .ENDTRY."获取SALV事件对象的引用DATA(lo_events) = co_alv->get_event( )." 设定EVENT HANDLERSET HANDLER me->on_link_click FOR lo_events.ENDMETHOD.METHOD on_link_click.READ TABLE me->mt_data INTO DATA(lw_data) INDEX row.IF sy-subrc = 0.MESSAGE '您点击了第' && row &&'行的' && lw_data-vbeln TYPE 'I'.ENDIF.ENDMETHOD.

  • 实现效果 
  • 完整代码 
    CLASS lcl_model DEFINITION.PUBLIC SECTION.TYPES:BEGIN OF TY_dATA,vbeln TYPE vbak-vbeln,erdat TYPE erdat,erzet TYPE erzet,ernam TYPE ernam,auart TYPE auart.TYPES:END  OF ty_data.DATA mt_data TYPE TABLE OF ty_data.DATA mo_salv TYPE REF TO cl_salv_table."获取数据的方法METHODS get_data."展示SALV的方法METHODS alv_show.PRIVATE SECTION.METHODS:set_status  CHANGING co_alv TYPE REF TO cl_salv_table.METHODS:set_layout  CHANGING co_alv TYPE REF TO cl_salv_table."设置热点方法METHODS:set_hotspot CHANGING co_alv TYPE REF TO cl_salv_table."事件处理方法METHODS:on_link_click FOR EVENT link_click OF cl_salv_events_tableIMPORTINGrowcolumn.ENDCLASS.CLASS lcl_model IMPLEMENTATION.METHOD get_data.SELECT vbeln erdat erzet ernam auartINTO TABLE mt_dataFROM vbakUP TO 20 ROWS.ENDMETHOD.METHOD alv_show.DATA: lx_msg TYPE REF TO cx_salv_msg.TRY.cl_salv_table=>factory(IMPORTINGr_salv_table = mo_salvCHANGINGt_table      = mt_data ).CATCH cx_salv_msg INTO lx_msg.ENDTRY."要生成SALV实例才能执行一下方法me->set_status( CHANGING co_alv = mo_salv ).me->set_layout( CHANGING co_alv = mo_salv ).me->set_hotspot( CHANGING co_alv = mo_salv ).mo_salv->display( ).ENDMETHOD.METHOD set_status.DATA(lo_functions) = co_alv->get_functions( )."cl_salv_functions_list类型的实例对象的添加状态方法lo_functions->set_all( abap_true )."lo_functions->set_default( abap_true ).ENDMETHOD.METHOD set_layout.DATA: lo_display TYPE REF TO cl_salv_display_settings.
    *   取得显示对象lo_display = co_alv->get_display_settings( ).*   设置ZEBRA显示lo_display->set_striped_pattern( 'X' ).
    *   设置Titlelo_display->set_list_header( '销售订单报表' ).ENDMETHOD.METHOD set_hotspot.DATA lo_col TYPE REF TO cl_salv_column_table."获取所有列对象的引用DATA(lo_cols) = co_alv->get_columns( ).TRY."获取群体列对象中VBELN列转换成CL_SALV_COLUMN_TABLE类型lo_col ?= lo_cols->get_column( 'VBELN' )."调用方法将列设置成热点lo_col->set_cell_type( EXPORTING value = if_salv_c_cell_type=>hotspot ).CATCH cx_salv_data_error .ENDTRY."获取SALV事件对象的引用DATA(lo_events) = co_alv->get_event( )." 设定EVENT HANDLERSET HANDLER me->on_link_click FOR lo_events.ENDMETHOD.METHOD on_link_click.READ TABLE me->mt_data INTO DATA(lw_data) INDEX row.IF sy-subrc = 0.MESSAGE '您点击了第' && row &&'行的' && lw_data-vbeln TYPE 'I'.ENDIF.ENDMETHOD.
    ENDCLASS.START-OF-SELECTION.DATA(lo_model) = NEW lcl_model( ).lo_model->get_data( ).lo_model->alv_show( ).

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

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

相关文章

合宙esp32-c3 进入深度睡眠无法唤醒解决一例

手贱,昨天收到了嘉立创最新的esp32 s3,想测试一下电流功耗,于是顺便测试了一下以前的合宙esp32 c3 无串口芯片的版本 打算对比一下c3和s3的功耗相差多少,结果把自己玩死了: void setup() {esp_deep_sleep_start();// esp_light_s…

oppo手机备忘录记录怎么转移到华为手机?

oppo手机备忘录记录怎么转移到华为手机?使用oppo手机已经有三四年了,因为平时习惯,在手机系统的备忘录中记录了很多重要的笔记,比如工作会议的要点、读书笔记、购物清单、朋友的生日提醒等。这些记录对我来说非常重要,我可以通过…

2000-2021年300+地级市进出口总额数据

2000-2021年300地级市进出口总额数据 1、时间:2000-2021年 2、指标:进出口总额 3、单位:万美元 4、来源:城市年鉴、各省年鉴、城市公报、2021年为城市统计年鉴中进口额出口额加总之后换算成万美元,已尽最大可能进行…

1.亿级积分数据分库分表:总体方案设计

项目背景 以一个积分系统为例,积分系统最核心的有积分账户表和积分明细表: 积分账户表:每个用户在一个品牌下有一个积分账户记录,记录了用户的积分余额,数据量在千万级积分明细表:用户每次积分发放、积分扣…

数据结构——Top-k问题

Top-k问题 方法一:堆排序(升序)(时间复杂度O(N*logN))向上调整建堆(时间复杂度:O(N * logN) )向下调整建堆(时间复杂度:O(N) )堆排序代码 方法二&…

LeetCode---386周赛

题目列表 3046. 分割数组 3047. 求交集区域内的最大正方形面积 3048. 标记所有下标的最早秒数 I 3049. 标记所有下标的最早秒数 II 一、分割数组 这题简单的思维题,要想将数组分为两个数组,且分出的两个数组中数字不会重复,很显然一个数…

人工智能指数报告2023

人工智能指数报告2023 主要要点第 1 章 研究与开发第 2 章 技术性能第 3 章 人工智能技术伦理第 4 章 经济第 5 章 教育第 6 章 政策与治理第 7 章 多样性第 8 章 舆论 人工智能指数是斯坦福大学以人为本的人工智能研究所(HAI)的一项独立倡议&#xff0c…

Java 石头剪刀布小游戏

一、任务 编写一个剪刀石头布游戏的程序。程序启动后会随机生成1~3的随机数,分别代表剪刀、石头和布,玩家通过键盘输入剪刀、石头和布与电脑进行5轮的游戏,赢的次数多的一方为赢家。若五局皆为平局,则最终结果判为平局。 二、实…

KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)

**《KubeSphere平台安装系列》** 【Kubernetes上安装KubeSphere(亲测–实操完整版)】(1/3) 【Linux单节点部署KubeSphere】(2/3) 【Linux多节点部署KubeSphere】(3/3) **《KubeS…

新一代电话机器人开源PHP源代码

使用easyswoole 框架开发的 新一代电话机器人开源PHP源码 项目地址:https://gitee.com/ddrjcode/robotphp 代理商页面演示地址 http://119.23.229.15:8080 用户名:c0508 密码:123456 包含 AI外呼管理,话术管理,CR…

每日一题 — 复写零

1089. 复写零 - 力扣(LeetCode) 思路: 首先找到最后一个复写的数: 双指针算法: 1、先判断 cur 位置上的值 2、然后决定 dest 移动一步还是两步 3、然后判断 dest 是否到终点了 4、最后 cur 处理越界的情况 arr[n-1] …

思维题(蓝桥杯 填空题 C++)

目录 题目一: ​编辑 代码: 题目二: 代码: 题目三: 代码: 题目四: 代码: 题目五: 代码: 题目六: 代码七: 题目八&#x…

用python和pygame库实现刮刮乐游戏

用python和pygame库实现刮刮乐游戏 首先,确保你已经安装了pygame库。如果没有安装,可以通过以下命令安装: pip install pygame 示例有两个。 一、简单刮刮乐游戏 准备两张图片,一张作为背景bottom_image.png,一张作…

Leetcoder Day35| 动态规划part02

62.不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&#xff…

Android 显示系统框架

一.FrameBuffer FrameBuffer 介绍: FrameBuffer中文译名为帧缓冲驱动,它是出现在2.2.xx内核中的一种驱动程序接口。主设备号为29,次设备号递增。 Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。FrameBuffer机制模仿显卡的功能…

Day11:信息打点-Web应用企业产权指纹识别域名资产网络空间威胁情报

目录 Web信息收集工具 业务资产-应用类型分类 Web单域名获取-接口查询 Web子域名获取-解析枚举 Web架构资产-平台指纹识别 思维导图 章节知识点: Web:语言/CMS/中间件/数据库/系统/WAF等 系统:操作系统/端口服务/网络环境/防火墙等 应用…

dart中的事件队列与微任务

dart在每个事件循环中,会先执行同步任务代码,然后分别检查两个任务队列:微任务队列和事件队列。dart总是先执行微任务队列中的代码,然后才是事件队列中的代码。当两个队列中的任务都执行完成后,线程进入休眠状态&#…

Stable Diffusion WebUI API http://127.0.0.1:7860/docs空白

在尝试调用Stable Diffusion WebUI API的时候,打开http://127.0.0.1:7860/docs遇到了以下页面 网络诊断是这样的原因: 修bug,改来改去遇到了以下两种页面: 此时http://127.0.0.1:7860可以如下正常显示: 查资料的时候找…

vue+springboot项目部署服务器

项目仓库:vuespringboot-demo: vuespringboot增删改查的demo (gitee.com) ①vue中修改配置 在public文件夹下新建config.json文件: {"serverUrl": "http://localhost:9090"//这里localhost在打包后记得修改为服务器公网ip } 然后…

[NSSCTF 2nd] web复现

1.php签到 <?phpfunction waf($filename){$black_list array("ph", "htaccess", "ini");$ext pathinfo($filename, PATHINFO_EXTENSION);foreach ($black_list as $value) {if (stristr($ext, $value)){return false;}}return true; }if(i…