ABAP ALV和OOALV设置单元格颜色,编辑

news2024/12/26 21:32:12

首先给大家分享一篇博客:
REUSE_ALV_GRID_DISPLAY_LVC-可编辑单元格

文章目录

    • 单元格编辑
    • 单元格/行-颜色
    • 效果展示

**需求:**我是想实现某个单元格可根据数据来判断是否是可以进行编辑的或要添加一个什么样的颜色.

我们需要用到下面的三个结构
ALV 控制: 单元格的类型表:LVC_T_STYL
ALV 控制: 字段名称 + 类型:LVC_S_STYL
ALV 控制: 单元格颜色表:LVC_T_SCOL

单元格编辑

1.下面的zstyle这个字段就是用来编辑这个单元格是否需要编辑的

"输出结构
TYPES: BEGIN OF ty_output.
        INCLUDE STRUCTURE ztsd0001. "内表
TYPES  zstyle     TYPE lvc_t_styl. "编辑状态字段
TYPES: END OF ty_output.

DATA: gt_output TYPE TABLE OF ty_output. "输出内表
DATA: gs_output TYPE ty_output. "输出工作区

2.在layout中设置上面的那个字段.

 gs_layout-stylefname = 'ZSTYLE'. "用于改变字段属性

3.在FIELDCAT中设置你要想实现那一列的效果,要把它设置成可编辑的,对是设置整列可编辑的(后续要经过判断在设置具体到那个单元格可编辑)

    IF &1 EQ 'aufnr2 '.  
      GS_FIELDCAT-EDIT = 'X'.
    ENDIF.

4.最后就是在展示ALV的前一步进行实现具体单元格可编辑的效果.

DATA:
        lt_celltab TYPE lvc_t_styl,
        ls_celltab TYPE lvc_s_styl.
        
         "这个字段要和你在FIELDCAT 中设置那个列可编辑的字段,要对应
        ls_celltab-fieldname = 'AUFNR2'.  
        
 "下面这两行是常量, 你可以选择给他固定值,或者直接调用cl_gui_alv_grid中的常量
  ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. "不可编辑  初始值 '00100000'
"  ls_celltab-style = cl_gui_alv_grid=>MC_STYLE_ENABLED.    "可编辑  初始值 '00080000'

  INSERT ls_celltab INTO TABLE lt_celltab. 
  INSERT LINES OF lt_celltab INTO TABLE gs_output-zstyle.   
  CLEAR:ls_celltab,lt_celltab .
  
"判断该内表汇总字段aufnr2为不为初始化的 实现不可修改
"(也就是说这个字段有值的就不要进行可编辑,没有的可以进行编辑)
  LOOP AT gt_output INTO DATA(ls_out).
    IF ls_out-aufnr2 IS not INITIAL.
      MODIFY gt_output INDEX sy-tabix FROM gs_output TRANSPORTING zstyle.
    ENDIF.
  ENDLOOP.
  CLEAR:ls_out, gs_output.

到这里就完成了

单元格/行-颜色

1.下面的CLR行颜色代码的字段,cellcolor 用于单元格颜色.

"输出结构
TYPES: BEGIN OF ty_output.
        INCLUDE STRUCTURE ztsd0001. "内表
TYPES  cellcolor TYPE lvc_t_scol. "单元格颜色
TYPES  clr TYPE char04. "行颜色代码的字段
TYPES: END OF ty_output.

DATA: gt_output TYPE TABLE OF ty_output. "输出内表
DATA: gs_output TYPE ty_output. "输出工作区

2.需要在layout总进行设置

gs_layout-info_fname = 'CLR'.  "行颜色代码的字段
gs_layout-ctab_fname = 'CELLCOLOR'. "单元格颜色内表字段

3.最后就是在展示ALV的前一步进行实现具体单元格/行的效果.

LOOP AT gt_output INTO gs_output.
"设置某一行为红色
    IF gs_output-aufnr = ''.
      gs_output-clr = 'C610'.
      MODIFY gt_output FROM gs_output TRANSPORTING clr.
      CLEAR gs_output.
    ENDIF.
    
"设置某一个单元格为黄色    
    IF gs_output-aufnr <> ''.
      lw_cellcolor-fname = 'AUFNR'.
      "订单编号为‘’的行的‘AUFNR’字段颜色为 黄色
      lw_cellcolor-color-col = 3.
      lw_cellcolor-color-int = 1.
      lw_cellcolor-color-inv = 0.

      APPEND lw_cellcolor TO gs_output-cellcolor.
      MODIFY gt_output FROM gs_output.
      CLEAR lw_cellcolor.
    ENDIF.
    CLEAR gs_output.
  ENDLOOP.

效果展示

单元格编辑效果
在这里插入图片描述

颜色添加效果
在这里插入图片描述
叠加效果
在这里插入图片描述

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

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

相关文章

Nios II软件开发流程简介(含工程)

软件安装 Nios II Eclipse软件打不开 ​ 安装完成quartus后&#xff0c;想要打开Nios II Eclipse软件&#xff0c;点击软件后发现没有任何反应。 ​ 这时要到安装目录C:\intelFPGA_pro\20.3\nios2eds\bin下&#xff0c;打开readme文件。 ​ 按readme中的内容下载eclipse-cpp-…

VTK中如何 搜索 目标点 最近的点或者点集( vtkPointLocator )

背景: 在vtk使用过程中,我们有时要搜索点或者cell最近的 单元, 仔细看源码,有时无法判断其具体是什么样子,因而这里做了可视化处理,方便我们更深刻的理解 vtkPointLocator 类型函数的使用; 过程: 1.了解其继承关系是必要的: 2.开始探索该函数的一些效果: 我们会将原始数据…

vmware安装redhat enterprise linux server 9.1

vmware安装redhat enterprise linux server 9.11、安装系统1.1 镜像文件2、更新系统2.1 注册系统到redhat软件仓库2.2 更新系统1、安装系统 1.1 镜像文件 官网下载&#xff1a;https://developers.redhat.com/products/rhel/download 2、更新系统 2.1 注册系统到redhat软件…

【编写中】html5+go+websocket不到150行代码,实现一个在线实时聊天的功能

阮一峰websocket 相关参考 websocket 什么是websocket 在了解什么是websocket之前&#xff0c;我们下说一说http&#xff0c;因为HTTP我们太熟了。我们知道&#xff0c;HTTP是一种基于应用层的网络协议&#xff0c;往往都是一个请求&#xff0c;一个相应。websocket呢&#…

为啥用 时序数据库 TSDB

前言 其实我之前是不太了解时序数据库以及它相关的机制的&#xff0c;只是大概知晓它的用途。但因为公司的业务需求&#xff0c;我意外参与并主导了公司内部开源时序数据库influxdb的引擎改造&#xff0c;所以我也就顺理成章的成为时序数据库“从业者”。 造飞机的人需要时刻…

VMware vCenter Server的安装和使用

准备工作 首先去官网下载好VCenter Server&#xff0c;然后准备安装&#xff0c;我这里下载的是6.0对应的镜像为VMware-VIMSetup-all-6.0.0-2656757.iso 需要注意&#xff1a; 开始安装 和安装其他操作系统一样&#xff0c;把镜像放入光驱或解压缩&#xff0c;我这里是在…

Dropout Reduces Underfitting论文解读

Dropout 在欠拟合的应用Dropout Reduces Underfitting&#xff08;2023.3.2&#xff09;写在前面摘要一、简介二、重新审视过拟合和欠拟合三、Dropout如何减少欠拟合四、方法五、实验早期随机失活分析晚期随机失活&#xff08;Late Dropout&#xff09;六、下游任务七、相关工作…

【零代码工具推荐】Max Creation Graph (MCG) 可视化图形编程工具

从3dMax 2016开始新加入了一个很牛great的功能&#xff0c;也就是“MCG”全称是Max Creation Graph&#xff0c;MCG可以让用户使用全可视化节点工作流程来创建修改器&#xff0c;几何体工具插件&#xff0c;使用MCG&#xff0c;可以创建一个新的插件&#xff0c;没错是插件&…

【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(下)

系列文章目录 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(中) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate…

要点提炼|《数字中国建设整体布局规划》,看这一篇就够了!

《数字中国建设整体布局规划》/// 近日&#xff0c;中共中央、国务院印发了《数字中国建设整体布局规划》&#xff08;以下简称“《规划》”&#xff09;&#xff0c;作为影响中国未来发展的重磅文件&#xff0c;被业界评价为“数字挂帅时代来临”。《数字中国建设整体布局规划…

【持续集成】Jenkins详细教程

文章目录一、jenkins是什么&#xff1f;二、CI/CD是什么&#xff1f;三、使用Jenkins进行PHP代码(单元)测试、打包。1.General2.源码管理3.构建触发器4.构建环境5.构建6.构建后操作7.其他相关配置四、进行jenkins project 构建五、构建结果说明六、jenkins权限管理最后&#xf…

【拼图】拼图游戏-微信小程序开发流程详解

还记得小时候玩过的经典拼图游戏吗&#xff0c;上小学时&#xff0c;在路边摊用买个玩具&#xff0c;是一个正方形盒子形状&#xff0c;里面装的是图片分割成的很多块&#xff0c;还差一块&#xff0c;怎么描述好呢&#xff0c;和魔方玩具差不多&#xff0c;有没有听说叫二维的…

【Leetcode——重排链表】

文章目录一、重排链表思路1.思路2.总结一、重排链表 对于这道题&#xff0c;有两种思路&#xff1a; 思路1. 1.使用一个线性表&#xff0c;存储链表中的每个节点&#xff0c;然后按照题目的条件&#xff0c;来链接线性表的各个节点即可。 使用左下标和右下标来定位线性表中的…

硬件学习 软件 Cadence day09 芯片PCB 封装导出DXF 文件

1.打开自己要导出 DXF 文件的 PCB 封装 (Allegro 软件) 2.导出DXF 文件的按钮 1.点击按钮&#xff0c;打开窗口 2.填写数据 3. 按下 Edit... 按钮 4. 编辑数据 5. 导出数据 &#xff0c;生成DXF 文件 下面的选项自己选择 &#xff1a; Color mapping &#xff1a; …

希腊字母及读音

希腊字母24个希腊字母分别是&#xff1a;Αα、Ββ、Γγ、Δδ、Εε、Ϝϝ、Ζζ、Ηη、Θθ、Ιι、Κκ、Λλ、Μμ、Νν、Ξξ、Οο、Ππ、Ρρ、Σσ、Ττ、Υυ、Φφ、Χχ、Ψψ、Ωω。拼写Α α&#xff1a;阿尔法 AlphaΒ β&#xff1a;贝塔 BetaΓ γ&…

算法套路二:相向双指针

算法套路二:相向双指针 算法套路示例讲解&#xff1a;LeetCode167. 两数之和 II - 输入有序数组 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是…

如何在MacOS上卸载IPGuard的软件--LAgent/LSDhelper程序

IPGuard类的软件一般企业用于办公设备监控&#xff0c;获取员工在设备上操作的信息&#xff0c;同时对文件等信息加密&#xff0c;用于防止企业信息外泄到网络上。但是设备上安装了此类软件一般不容易卸载掉&#xff0c;针对在macos上卸载过程作下讲解。 1. 一般服务类的程序都…

shell文件通配符:任意一个:?、任意数量:*、任意包含[]、[^]:任意不包含

文章目录一. 有哪些文件通配符二. 匹配任意?&#xff1a;匹配任意一个字符*&#xff1a;匹配任意数量的字符串三. 匹配任意指定一个字符1. []&#xff1a;匹配任意包含匹配任意包含字符范围2. [!]与[^]&#xff1a;匹配任意不包含四. 注意事项1. 通配符组合2. 不能跨越目录层级…

运筹系列67:大规模TSP问题的EAX遗传算法

1. 算法介绍 EAX是edge assembly crossover 算子的缩写。本算法有Y nagata教授公布&#xff0c;目前在VLSI最大的几个案例上获得了best的成绩。另外目前MonoLisa 100K问题的最优解也是由其公布&#xff0c;若能得到更优解&#xff0c;可以获得1000美元奖励。 算法步骤如下&…

【教学典型案例】用户称为设计者的正例

目录一&#xff1a;背景介绍二&#xff1a;设计理念三&#xff1a;设计过程按照设计理念设计的功能&#xff1a;1、用户可以根据自己的情况来选择显示哪些活动参与数据。2、用户可以对请假功能和点读功能进行开启和关闭操作&#xff08;默认为全部开启&#xff09;四&#xff1…