热门标签 | 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.


推荐阅读
  • 当使用 `new` 表达式(即通过 `new` 动态创建对象)时,会发生两件事:首先,内存被分配用于存储新对象;其次,该对象的构造函数被调用以初始化对象。为了确保资源管理的一致性和避免内存泄漏,建议在使用 `new` 和 `delete` 时保持形式一致。例如,如果使用 `new[]` 分配数组,则应使用 `delete[]` 来释放内存;同样,如果使用 `new` 分配单个对象,则应使用 `delete` 来释放内存。这种一致性有助于防止常见的编程错误,提高代码的健壮性和可维护性。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • C语言中全部可用的数学函数有哪些?2.longlabs(longn);求长整型数的绝对值。3.doublefabs(doublex);求实数的绝对值。4.doublefloor(d ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • 本文介绍如何使用线段树解决洛谷 P1531 我讨厌它问题,重点在于单点更新和区间查询最大值。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • 本文详细解析了 Yii2 框架中视图和布局的各种函数,并综述了它们在实际开发中的应用场景。通过深入探讨每个函数的功能和用法,为开发者提供了全面的参考,帮助他们在项目中更高效地利用这些工具。 ... [详细]
  • 在C++程序中,文档A的每一行包含一个结构体数据,其中某些字段可能包含不同数量的数字。需要将这些结构体数据逐行读取并存储到向量中,随后不仅在控制台上显示,还要输出到新创建的文档B中。希望得到指导,感谢! ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
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社区 版权所有