在ALV中添加具有更改的fieldcatlog的新行

2020-08-22 00:03发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


hI

我有一个使用类开发的ALV。

我有一些显示ALV时不可编辑的字段。 当用户插入新行时,字段应该是可编辑的。

我尝试设置字段目录和刷新表显示。

它工作正常,但问题是将先前显示的单元格更改为可编辑的。

此致

萨蒂亚(satya)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


hI

我有一个使用类开发的ALV。

我有一些显示ALV时不可编辑的字段。 当用户插入新行时,字段应该是可编辑的。

我尝试设置字段目录和刷新表显示。

它工作正常,但问题是将先前显示的单元格更改为可编辑的。

此致

萨蒂亚(satya)

付费偷看设置
发送
3条回答
d56caomao
1楼 · 2020-08-22 00:48.采纳回答

您需要在ALV数据行中添加一个单元格控制字段; 该字段的数据类型必须为LVC_T_STYL。 让我们将此字段称为C_STYLE。

同样,您需要将"布局结构"的" STYLEFNAME"字段的值设置为ALV数据行的单元格控制字段的名称,如以下代码所示:

 将" C_STYLE"移至gs_layout-stylefname。
 

其中GS_LAYOUT结构是ALV布局结构(类型LVC_S_LAYO)。

将ALV列的字段目录定义保留为不可编辑。

现在,当您在ALV表中添加一行时,获取添加的行的行索引,并将该行读入工作结构。 对于要为其启用输入的该行的每个字段,将一个条目添加到单元格控制表中,按照以下代码将STYLE属性设置为常量MC_STYLE_ENABLED:

 *定义单元格样式工作区
 数据:
   ls_cstyle类型lvc_s_styl。

 *将ALV数据行读入工作结构。
 *内部表GT_ALV是ALV网格数据,
 *字段符号是工作结构,
 *变量IDX是添加的行的索引号
 将表gt_alv索引idx读入。

 *要启用更改的字段是FLD1和FLD2。
 *假设有新行,因此"单元格样式"中没有任何值。
 移动:
   " FLD1"到ls_cstyle-fieldname,
   cl_gui_alv_grid => mc_style_enabled为ls_cstyle-style。
   将ls_cstyle插入表 -c_style中。

   将" FLD2"移至ls_cstyle-fieldname。
   将ls_cstyle插入表 -c_style中。
 

要改回不可编辑状态,请使用常量值MC_STYLE_DISABLED。

此致

D。

d56caomao
2楼-- · 2020-08-22 00:47

谢谢。

我找到了解决方法。

Satya

lukcy2020
3楼-- · 2020-08-22 00:49

请问我使用过字段catlog的核心abap代码可以帮助您吗? 请帮忙。 我要在插入/添加一行时启用所有字段。

谢谢。

一周热门 更多>