Alv Grid:在一个单元格中组合多个样式

时间:2018-07-18 13:59:50

标签: abap

我的要求如下:

我在alv网格(CL_GUI_ALV_GRID)中显示记录,用户可以在其中添加新记录。

  • 我有一个关键字段MATNR,该字段在现有记录上已被禁用。这个做 并不需要真正的F4 SH图标。 它必须具有热点

  • 当用户决定添加新记录时,我要允许F4,将字段设置为 热点并启用它。

但是,事实证明,合并单元格样式1-4都不起作用(显然没有合并它们的原始格式会导致多种样式),fieldcat-f4available = abap_true也不与fieldcat-hotspot = abap_true一起使用。 / p>

我必须承认,我不会经常遇到这种要求...因此,我在这里问是否有人知道一种方法(首选最佳实践)。

直到现在,我都根据行内容设置单元格样式,并且fieldcat或多或少是静态设置的。

因此在fieldcat中,设置了F4,并在celltab中设置了MC_HOTSPOT样式。 但是,这也禁止手动输入值。仅F4值重新映射有效。

2 个答案:

答案 0 :(得分:0)

我刚遇到这个问题,并以为我会分享我的解决方案。 显然,组合样式的方法是按位操作:

ls_style-style = cl_gui_alv_grid=>mc_style_hotspot BIT-OR 
                 cl_gui_alv_grid=>mc_style_f4 BIT-OR
                 cl_gui_alv_grid=>mc_style_enabled.

应使用热点和F4创建一个可编辑的字段。 您还应该在字段目录中标记“编辑”和“热点”。

答案 1 :(得分:0)

我需要:带有 f4 和热点的可编辑字段。我的解决方案: 我在 ls_fcat 中设置:

hotspot = abap_true, and f4avaliable = abap_true

在字段样式中,我设置:

style = cl_gui_alv_grid=>mc_style_f4 BIT-OR cl_gui_alv_grid=>mc_style_enabled