在 CSDN 和我的知识星球里有朋友向我提出同样的问题,询问如何在 ALV 里实现增删改查操作。
虽然需求只有一句话,但是这个需求背后涉及到的知识点不少,因此笔者会通过几篇文章的篇幅,来介绍这个需求的详细实现步骤。
本文先解决第一个障碍,如何让 ALV 报表进入可编辑状态?
笔者通过一个 ABAP 报表来说明。
ALV Grid 控件里每个单元格的状态有两种:
- non-editable 状态,不可编辑
- editable 可编辑状态
其中 editable 状态又分为两种:
(1) editable 并且活跃(active),此时单元格已经可以输入新的值
(2) editable 但是不活跃(not active),此时单元格无法进行编辑
这两种 editable 的不同状态,可以通过 ALV Grid 的 API 来切换。
我们还是先来看看通过本文介绍的实现步骤之后,能达到什么样的效果。
我们执行 ABAP 报表(完整的源代码在文末获得),看到如下的 ALV 报表。
首先,这个报表单元格的背景色是白色,这意味着单元格可以编辑。并且工具栏上我们也看到了新建,插入,删除和复制这四个按钮。