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.hqwc.cn/news/505665.html

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

相关文章

python 使用curl_cffi 绕过jax3指纹-Cloudflare 5s盾

现在越来越多的网站已经能够通过JA3或者其他指纹信息,来识别你是不是爬虫了。传统的方式比如换UA,加代理是没有任何意义了,所以这个时候我们就需要使用到curl_cffi 了。 1.TLS 指纹是啥? 在绝大多数的网站都已经使用了 HTTPS&am…

微信小程序触屏事件_上划下划事件

一、微信小程序触屏事件 bindtouchstart:手指触摸动作开始 bindtouchmove:手指触摸后移动 bindend:手指触摸动作结束 属性类型说明touchesArray触摸事件,当前停留在屏幕中的触摸点信息的数组 Touch 对象 属性类型说明identi…

【Excel】【正则】判断手机号是否正确

发现导出的手机号,有部分存在问题,故想直接通过excel做正则的判断 先说结论:通过VBA实现了正则函数的嵌入,但实际效率非常低下,80万的数据跑了半小时(T14 十代i7) 参考文章:正则表…

点云数据结构化与体素化理论学习

一、PCD点云数据存储格式的进一步认识 (一)PCD点云存储格式相较于其它存储格式(如PLY、STL、OBJ、X3D等)的优势[1] (1)具有存储和处理有组织的点云数据集的能力,这对于实时应用和增强现实及机器…

主网NFT的发布合约

1.什么是nft? NFT:Non-fungible-token 非同质化货币 2.新建suimove项目 使用sui move new 项目名命令新建sui move项目 sui move new nft_qyx项目结构如下: 3.写nft合约 module qyx123::nft{use sui::object::{Self, UID};use sui::transfer;use sui::tx_context::{Sel…

Elasticsearch搜索引擎

目录 初识elasticsearch 了解ES 什么是elasticsearch elasticsearch的发展 搜索引擎技术排名: 总结 倒排索引 正向索引和倒排索引 正向索引 倒排索引 总结 es的一些概念 文档 索引 概念对比 架构 总结 安装es,kibana 安装es 安装kiba…

Javaweb之SpringBootWeb案例之自动配置的原理分析的详细解析

3.2.3 原理分析 3.2.3.1 源码跟踪 前面我们讲解了在项目当中引入第三方依赖之后,如何加载第三方依赖中定义好的bean对象以及配置类,从而完成自动配置操作。那下面我们通过源码跟踪的形式来剖析下SpringBoot底层到底是如何完成自动配置的。 源码跟踪技巧…

技术阅读周刊第十四期:常用的 Git 配置

技术阅读周刊,每周更新。 历史更新 20231122:第十一期20231129:第十二期20240105:第十三期:一些提高生产力的终端命令20240112:第十四期:Golang 作者 Rob Pike 在 GopherConAU 上的分享 How I w…

第19章-IPv6基础

1. IPv4的缺陷 2. IPv6的优势 3. 地址格式 3.1 格式 3.2 长度 4. 地址书写压缩 4.1 段内前导0压缩 4.2 全0段压缩 4.3 例子1 4.4 例子 5. 网段划分 5.1 前缀 5.2 接口标识符 5.3 前缀长度 5.4 地址规模分类 6. 地址分类 6.1 单播地址 6.2 组播地址 6.3 任播地址 6.4 例子 …

计算机网络(4)----局域网与广域网

目录 1.局域网 (1)局域网拓扑结构 (2)局域网的传输介质 (3)局域网介质访问控制方法 (4)局域网的分类 (5)IEEE 802标准 (6)MAC子层与LLC子层 (7)常用的局域网技术---以太网 (8)以太网传输介质与拓扑结构的发展 (9)常用的以太网---10BASE-T以太网 (10)适配器与MAC地址…

SMBGhost漏洞技术分析与防御方案

事件分析 最近国内外各安全厂商都发布了SMBGhost(CVE-2020-0796)漏洞的预警报告和分析报告,笔者利用周末休息时间也研究了一下,就算是做一个笔记了,分享给大家一起学习下,目前外面研究的POC大部分是通过SMB压缩数据包长度整数溢出…

在github的README.md中插入视频;在github的README.md中添加gif演示动画

最近需要再github中上传项目的源代码,应导师的要求,需要再README中加入对实验视频的展示,但是github的README.md其实就是一个markdown文件,据我的理解这个文件里应该无法直接插入视频吧?(如果后续有办法直接…