REPORT ZALV_EDIT.

TYPE-POOLS: SLIS.

*- Fieldcatalog

DATA: IT_FIELDCAT TYPE LVC_T_FCAT.

DATA: X_FIELDCAT TYPE LVC_S_FCAT.

DATA: X_LAYOUT TYPE LVC_S_LAYO.

"第1步:用操作具体单元的是否可编辑的内表和工作区

DATA: LS_EDIT TYPE LVC_S_STYL,

LT_EDIT TYPE LVC_T_STYL,

gr_alvgrid TYPE REF TO cl_gui_alv_grid .

"第2步:在内表定义添加字段,用于控制具体行的具体单元是否可编辑

DATA: BEGIN OF IT_VBAP OCCURS 0,

VBELN LIKE VBAP-VBELN,

POSNR LIKE VBAP-POSNR,

STYLE TYPE LVC_T_STYL, "FOR DISABLE

END OF IT_VBAP.

DATA: LS_OUTTAB LIKE LINE OF IT_VBAP.

SELECT VBELN  POSNR

UP TO 100 ROWS

INTO CORRESPONDING FIELDS OF TABLE IT_VBAP

FROM VBAP.

DATA:L_POS TYPE I VALUE 1.

CLEAR: L_POS.

L_POS = L_POS + 1.

X_FIELDCAT-SELTEXT = 'VBELN'.

X_FIELDCAT-FIELDNAME = 'VBELN'.

X_FIELDCAT-TABNAME = 'ITAB'.

X_FIELDCAT-COL_POS = L_POS.

X_FIELDCAT-EDIT = 'X'.

X_FIELDCAT-OUTPUTLEN = '10'.

x_fieldcat-ref_field = 'VBELN'.

x_fieldcat-ref_table = 'VBAK'.

APPEND X_FIELDCAT TO IT_FIELDCAT.

CLEAR X_FIELDCAT.

L_POS = L_POS + 1.

X_FIELDCAT-SELTEXT = 'POSNR'.

X_FIELDCAT-FIELDNAME = 'POSNR'.

X_FIELDCAT-TABNAME = 'ITAB'.

X_FIELDCAT-COL_POS = L_POS.

X_FIELDCAT-EDIT = 'X'.

X_FIELDCAT-OUTPUTLEN = '5'.

APPEND X_FIELDCAT TO IT_FIELDCAT.

CLEAR X_FIELDCAT.

L_POS = L_POS + 1.

"第3步:设置第六行两个单元都不能输入

SY-TABIX = 6.

LS_EDIT-FIELDNAME = 'VBELN'.

LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

LS_EDIT-STYLE2 = SPACE.

LS_EDIT-STYLE3 = SPACE.

LS_EDIT-STYLE4 = SPACE.

LS_EDIT-MAXLEN = 10.

INSERT LS_EDIT INTO TABLE LT_EDIT.

LS_EDIT-FIELDNAME = 'POSNR'.

LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

LS_EDIT-STYLE2 = SPACE.

LS_EDIT-STYLE3 = SPACE.

LS_EDIT-STYLE4 = SPACE.

LS_EDIT-MAXLEN = 6.

INSERT LS_EDIT INTO TABLE LT_EDIT.

INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-STYLE.

"第4步:将控制数据写到内表

MODIFY IT_VBAP INDEX SY-TABIX FROM LS_OUTTAB TRANSPORTING STYLE .

"设置第10行只有项目不能输入

clear LS_OUTTAB.

refresh LT_EDIT.

LS_EDIT-FIELDNAME = 'POSNR'.

LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

LS_EDIT-STYLE2 = SPACE.

LS_EDIT-STYLE3 = SPACE.

LS_EDIT-STYLE4 = SPACE.

LS_EDIT-MAXLEN = 6.

INSERT LS_EDIT INTO TABLE LT_EDIT.

INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-STYLE.

SY-TABIX = 10.

"将控制数据写到内表

MODIFY IT_VBAP INDEX SY-TABIX FROM LS_OUTTAB TRANSPORTING STYLE .

"第5步:设置控制字段

X_LAYOUT-STYLEFNAME = 'STYLE'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

IS_LAYOUT_LVC      = X_LAYOUT

IT_FIELDCAT_LVC    = IT_FIELDCAT

TABLES

T_OUTTAB           = IT_VBAP[]

EXCEPTIONS

PROGRAM_ERROR      = 1

OTHERS             = 2.

IF SY-SUBRC NE 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

源自:http://www.cnblogs.com/VerySky/articles/2323550.html

控制ALV单元格可编辑相关推荐

  1. 设置ALV单元格可编辑状态

    在使用ALV显示列表的过程中,我们可以使用IT_FIELDCAT参数设置某一个字段的可编辑状态.但是,要设置具体的单元格的可编辑状态对于对ALV不是很了解的人来说是一个头大的问题. 具体单元格可编辑状 ...

  2. ALV 单元格可编辑,跟新数据库,自定义工具栏

    REPORT  ZBMMR_001. TYPE-POOLS:slis. TABLES:mara,marc,makt,t001w,ztmm002,ztmm021,zbtmm001. TYPES:BEGI ...

  3. sap abap alv 实现某行,单元格可编辑与不可编辑 REUSE_ALV_GRID_DISPLAY_LVC

    在使用ALV显示列表的过程中,我们可以使用IT_FIELDCAT参数设置某一个字段的可编辑状态.但是,要设置具体的单元格的可编辑状态对于对ALV不是很了解的人来说是一个头大的问题. 具体单元格可编辑状 ...

  4. SAP 标准ALV实现单元格可编辑,插入可编辑的新行,敲下回车后更新数据

    实现单元格可编辑: 假定将要显示在ALV屏幕上的内表名为:it_alv. 通过slis_fieldcat_alv-edit = 'X',将单元格所在列设为可编辑状态. 在it_alv的data定义里添 ...

  5. Spread for Windows Forms高级主题(3)---单元格的编辑模式

    理解单元格的编辑模式 通常情况下,当终端用户双击单元格时,编辑控件将允许用户在该单元格中输入内容.在一个单元格中编辑的能力被称为编辑模式.一些属性和方法可以用来自定义编辑模式的使用. 当一个单元格处于 ...

  6. elementui可编辑单元格_ElementUI table组件实现点击单元格可编辑

    最近由于公司开始使用elementUI,但是我发现网上关于elementui的问题很少,只能靠看官方文档解决慢慢摸索,开发的过程中需要用到对表格的单元格进行编辑,百度也找不到,只好自己慢慢研究一下,下 ...

  7. abap al设置单元格可编辑 oo_REUSE_ALV_GRID_DISPLAY_LVC-可编辑单元格

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

  8. 在GridView中针对鼠标单击的某一独立单元格进行编辑

    原文地址: http://www.codeproject.com/KB/webforms/EditGridviewCells.aspx [原文源码下载] [译者改后源码下载] 作者:Declan Br ...

  9. html表格字数显示,HTML控制实现单元格文字个性化显示

    HTML控制实现单元格文字个性化显示 润乾报表中对单元格文字展现效果的设置方式和方法基本上可以满足用户的大部分需求,但是有时候用户对web报表单元格文字的显示有一些个性化的要求,如文字翻转等需求,润乾 ...

最新文章

  1. mac版python3.7怎么使用_【Mac环境】Mac使用python3.7环境
  2. The role of the inter-controller consensus in the placement of distributed SDN controllers
  3. 配置虚拟机和网络配置
  4. dump文件分析工具_使用这个 Python 工具分析你的 Web 服务器日志文件 | Linux 中国...
  5. spring aop实例讲解_小实例理解Spring中的AOP----面向切面编程
  6. 计算机的键盘如何保养,知识每天涨一点:快捷键2 键盘键位知识 电脑小保养
  7. powerbuilder提示不是下拉窗口_为什么过去状态管理不是问题?
  8. 怎样查看cudnn版本_tensorflowGPU版本踩坑记录
  9. 试验一下纯手写blog
  10. 电商人:别再跟数据透视表苦苦挣扎,这个报表神器才是你最后出路
  11. 《JavaScript设计模式》——11.3 站长统计
  12. openstack windows下远程debug调试(komodo)
  13. 难得一见的DIY针孔相机
  14. 第十六篇 Python之迭代器与生成器
  15. centos安装rabbitmq_SpringCloud之RabbitMQ安装
  16. 163编辑器 自适应宽度 +更改高度
  17. faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException问题解决
  18. 正则表达式验证中文或者英文
  19. CT图像的三维表面重建
  20. Android开发在路上:少去踩坑,多走捷径(上)

热门文章

  1. 阿里云移动端播放器高级功能---截图和音频波形
  2. C++ STL vector(向量)
  3. CLOSE_WAIT?项目上线之际遇到这样的烦心事
  4. Java中getMessage()和printStackTrace方法
  5. 双缓冲法解决重绘和闪屏问题
  6. 加密锁 vs. 云授权
  7. ASP.NET介绍及C#基本语法(一)
  8. (oracle)二、创建数据库
  9. 机器学习中的度量—— 向量距离
  10. Linux常用命令大全(转载收藏)