如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
代码如下:具体说明参见红色说明(本例子是从订单明细提取两个字段的数据到内表)
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.
"第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.
source url:https://www.sdn.sap.com/irj/sdn/wiki?path=/display/Snippets/Disable+or+Enable+Input+fields+Conditionally+In+ALV
转载于:https://www.cnblogs.com/duadu/archive/2008/08/21/6166545.html
如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入相关推荐
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
在ALV报表设计有时候需要根据一定条件将特定的单元显示成特定的颜色,具体实现步骤如下: 1. 在需要显示的内表中添加新的字段,字段类型为lvc_t_scol 2. 根据条件设置颜色数据: 3. 设置l ...
- EasyExcel设置行中单个单元格的样式
1. 前言 在近期的工作中遇到一个导出Excel的需求: 用户通过Excel导入信息,校验用户导入的信息是否合法:如果导入的信息不合法,则保存失败:并且需要精确到行的字段设置标识,然后再将用户导入的信 ...
- Excel生成报表之解决方案--设置单个单元格格式
首先要看效果图: 单元格C3设置字体.数据格式和边框属性,要生成这样的效果要进行哪些设置.先看在微软Excel中如何需要设置. 一.微软Excel中设置单个单元格 1.首先在C3中输入数值12. 如果 ...
- easyExcel设置单个单元格(颜色)样式
背景:需求是使用excel设置目标单元格的样式(颜色),但我之前没有学过easyExcel,在网上找资料的时候,发现有关easyExcel相关的单个单元格样式设置的资料比较少,有的还源码不全,只能说用 ...
- POI设置单个单元格的样式
一.POI的基础样式 1. 单元格样式 CellStyle决定了单元格的显示样式,决定了单元格: - 单元格各个边框样式及颜色- 单元格填充图案.前景色及背景色- 单元格内容水平.垂直对齐方式- 单元 ...
- EasyExcel设置特定单个单元格(颜色)样式
原文链接出自:easyExcel设置单个单元格(颜色)样式 背景:需求是使用excel设置目标单元格的样式(颜色),但我之前没有学过easyExcel,在网上找资料的时候,发现有关easyExcel相 ...
- hutool工具ExcelWriter设置单个单元格样式
官网自定义样式: ExcelWriter writer = ...;// 定义单元格背景色 StyleSet style = writer.getStyleSet(); // 第二个参数表示是否也设置 ...
- Vue+iview表格如何给单个单元格设置样式
官方文档地址:https://www.iviewui.com/components/table#TDYS,单元格:通过给数据 data 设置字段 cellClassName 可以给任意一个单元格指定样 ...
- wps交叉表_WPS表格中如何锁定单个单元格?,这几步你要了解
如同加密文件一样,WPS表格中可以对单个单元格进行锁定.起到保护里面数据的作用,其具体操作步骤如下: 工具/材料 WPS办公软件 操作方法 01 在桌面上双击WPS表格的快捷图标,打开WPS表格这款软 ...
最新文章
- max点缓存烘焙帧_深入理解浏览器的缓存机制
- 软件工程概论 课堂练习【用例图——客户提出申请要求贷款...】
- 印度18岁天才少年,造出“全球最小卫星”,实力不容小觑!
- 巧用 ExcelFileCleaner 减小excel 文件大小
- labview曲线上两点画延长线_自由泳,那些防不胜防的错误动作(上)
- 数据结构基本操作_【算法与数据结构 03】数据处理的基本操作——增删查
- 2021年山东省安全员A证考试题及山东省安全员A证考试试卷
- 2020华为海思的实习生面试记录(雨人)
- candence与matlab电路仿真,电力电子电路仿真:MATLAB和PSpice应用
- macmini作为远程服务器,我在用我的 Mac mini 做什么
- 中级病案信息技术计算机基础知识要点,病案信息技术职称考试基础知识复习
- allegro cadence PCB中出光绘文件遇到database has errors:artwork generation cancled.please run dbdoctor问题的解决办法
- 海思android随笔之工厂菜单PQ acm color调用流程
- 《海盗猎人》的优秀读后感范文5000字
- Vue项目中background-image属性设置方法
- 完美体验 微软WP7智能手机七大功能亮点
- 记录(Record)
- 元旦抽空修了一下自己家的优步YB-530多功能家用静音跑步机
- 一体化步进伺服电机在插件机中的应用
- 【游戏客户端】聊天排行榜朋友圈系统实现机制
热门文章
- 2022-2028年中国电力行业节能减排投资分析及前景预测报告
- cannot find package “github.com/json-iterator/go“cannot find package “github.com/modern-go/reflect2“
- FastAPI 自动生成的docs文档没法使用
- 使用python建立简单的树机构
- 虚拟机环境下Centos7操作系统的详细安装教程
- 『PyTorch』第十一弹_torch.optim优化器 每层定制参数
- LeetCode简单题之有多少小于当前数字的数字
- LeetCode简单题之增量元素之间的最大差值
- Atomic Layer Deposition原子层沉积技术
- MindSpore部署图像分割示例程序