热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于OOALV控制单元格编辑不可编辑功能

我们在定义alv样式的是可以让单元格可编辑DATA:BEGINOFWA_FY.INCLUDESTRUCTUREzmmus018.INCLUDESTRUCTUREZMMTUS0073

在这里插入图片描述
我们在定义alv样式的是可以让单元格可编辑
DATA: BEGIN OF WA_FY.

  • INCLUDE STRUCTURE zmmus018.INCLUDE STRUCTURE ZMMTUS00730.

DATA: FYXZTXT TYPE VAL_TEXT," MARK,DEL,
YZFTXT TYPE VAL_TEXT,
SKDW_T TYPE STRING,
FKDW_T TYPE STRING,
******ADD-20190222-BEGIN
VBUND TYPE LFA1-VBUND, "贸易伙伴
SGTXT TYPE SGTXT,
******ADD-20190222-END
JZBZ_T TYPE VAL_TEXT,
SEL,
CELLSTYLES TYPE LVC_T_STYL,
END OF WA_FY.
定义变量:
DATA: l_flag,
lv_canedit(1).
DATA: ls_layout TYPE lvc_s_layo,
ls_variant TYPE disvariant,"LAYOUT
lt_fcat_fy TYPE lvc_t_fcat,
lt_sort TYPE lvc_t_sort,
ls_sort TYPE lvc_s_sort,
lt_filter TYPE lvc_t_filt,
ls_filter TYPE lvc_s_filt,
ls_celltab TYPE lvc_s_styl,
lt_celltab TYPE lvc_t_styl.
"定义宏,输出grid字段
DEFINE def_grid_fy.
clear g_ls.
g_ls-fieldname = &1.
g_ls-coltext = &2.
g_ls-edit = &3.
if &1 = ‘SEL’.
g_ls-checkbox = ‘X’.
endif.

g_ls-inttype = &5.

  • ENDIF.
    g_ls-lzero = ‘X’.
    if &1 = ‘SKDW’ or &1 = ‘FKDW’.
    g_ls-convexit = ‘ALPHA’.
    endif.
    g_ls-ref_table = &6.
    g_ls-cfieldname = &7.

    case &1 .
    when ‘BCSQJE’ or ‘UNITPRICE’ or ‘CHGUNIT’
    or ‘WAERS1’ or ‘BWBHL’
    or ‘CWHL’ or ‘ZSHILV’
    or ‘ZSHIE’ or ‘JYPTWXJS’.
    g_ls-ref_table = ‘ZMMTUS00730’.

  • G_LS-CFIELDNAME = 'WAERS'.g_ls-ref_field = &1.

    endcase.

  • IF &5 = ‘P’.

  • G_LS-DO_SUM = ‘X’.

  • ENDIF.
    concatenate &4
    ‘[]’
    into g_table_name. "TABLE BODY
    assign (g_table_name) to . "NOT HEADERLINE
    append g_ls to .
    END-OF-DEFINITION.
    调用宏
    def_grid_fy ‘CWHL’ text-615 ‘X’ ‘LT_FCAT_FY’ ‘P’ ‘’ ‘’.
    def_grid_fy ‘ZSHILV’ text-162 ‘X’ ‘LT_FCAT_FY’ ‘P’ ‘’ ‘’.
    类似这样的部分单元格控制是否可编辑

ls_layout-cwidth_opt = ‘X’.
ls_layout-zebra = ‘X’.
*样式表指定控制的内表
ls_layout-stylefname = ‘CELLSTYLES’.
cl_gui_alv_grid的2个不同属性实现不同功能
*控制单元格可编辑

  • ls_celltab-fieldname = 'CWHL'.

  • ls_celltab-style = cl_gui_alv_grid=>mc_style_enabled.

  • INSERT ls_celltab INTO TABLE lt_celltab.

*控制单元格不可编辑
ls_celltab-fieldname = ‘CWHL’.
ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
INSERT ls_celltab INTO TABLE lt_celltab.
把指定的样式放到显示的内表字段
CLEAR wa_fy-cellstyles[].
wa_fy-cellstyles[] = lt_celltab[].

MODIFY gt_fy FROM wa_fy.

CREATE OBJECT g_cont_fy
EXPORTING
container_name = ‘CONT_FY’.
CREATE OBJECT g_grid_fy
EXPORTING
i_parent = g_cont_fy
i_appl_events = ‘X’.

CALL METHOD g_grid_fy->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.

DATA l_fy_recevier TYPE REF TO lcl_grid_fy_receiver.
CREATE OBJECT l_fy_recevier .

CALL METHOD g_grid_fy->set_table_for_first_display
EXPORTING
is_layout = ls_layout
i_save = ‘A’
is_variant = ls_variant
CHANGING
it_fieldcatalog = lt_fcat_fy
it_outtab = gt_fy
it_sort = lt_sort
it_filter = lt_filter.


推荐阅读
  • 本文详细探讨了VxWorks操作系统中双向链表和环形缓冲区的实现原理及使用方法,通过具体示例代码加深理解。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本实验主要探讨了二叉排序树(BST)的基本操作,包括创建、查找和删除节点。通过具体实例和代码实现,详细介绍了如何使用递归和非递归方法进行关键字查找,并展示了删除特定节点后的树结构变化。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有