• ◆◆0REUSE_ALV_GRID_DISPLAY_LVC-可编辑单元格


    使用REUSE_ALV_GRID_DISPLAY_LVC显示ALV时,如何将列、行或者具体的某个单元格设置成可编辑能输入状态?这个其实很简单,下面一一讲解:

    1, 列可编辑

    只要将catalog中的字段edit设置成‘X',整列就变成能输入的了,LVC_S_FCAT-EDIT

    代码:

    运行结果:

    2, 整个ALV可编辑

    将layout中的EDIT字段赋值’X'(LVC_S_LAYO-EDIT),就可以将整个ALV设置成可输入状态。

    还有一种比较笨的办法就是将所有列都设置成可输入。

    代码:

    3, 单元格可编辑

    如果要让单元格变成可输入,需要在alv输出内表中多定义一个保存单元格style的字段(类型:lvc_t_styl ),然后填入style属性(可编辑或者是不可编辑),最后还要在layout-stylefname中指定style的字段名。

    代码如下:将EBELN设置成不可输入。

    style属性可以在类CL_GUI_ALV_GRID中可以找到:

    MC_STYLE_DISABLED:禁止输入

    MC_STYLE_ENABLED:可编辑,可输入。

    需要注意的是:MC_STYLE_ENABLED输入性不能单独使用,一定在EDIT = 'X'(layout-edit 或者是catalog-edit)的场合下,才可以利用MC_STYLE_ENABLED进行不可编辑到编辑切换,也就是不设置edit = 'X',MC_STYLE_ENABLED是不起作用的。

    完整代码:

    4, 行可编辑

    类似于单元格可编辑,只要将一行之外的所有行都变成不可输入,也就实现了行可编辑。逻辑如下:

    1,通过layout-edit = ’X' 将整个行项目都变成可输入

    2,将某行之外的所有行style设置成 cl_gui_alv_grid=>mc_style_disabled.

    代码:

    显示:

    以上。

  • 相关阅读:
    C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素
    C#对IQueryable<T>、IEnumerable<T>的扩展方法
    C#常用处理数据类型转换、数据源转换、数制转换、编码转换相关的扩展
    C#常用8种排序算法实现以及原理简介
    身份证号合法性验证,支持15位和18位身份证号,支持地址编码、出生日期、校验位验证
    C#检验参数合法性公用方法
    MVC中得到成员元数据的Description特性描述信息公用方法
    把对象类型转换成指定的类型帮助类方法
    C#操作图片帮助类
    C#执行Dos命令公用方法
  • 原文地址:https://www.cnblogs.com/lvdong18847870057/p/12539752.html
Copyright © 2020-2023  润新知