使用REUSE_ALV_GRID_DISPLAY时为小计行着色

2020-09-05 17:11发布

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

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


专家您好,

我将REUSE_ALV_GRID_DISPLAY与it_sort参数一起使用(以显示小计)。

我有3个小计。 我的目标是为每个小计行用相同的颜色涂上相同的颜色。

我的步骤是:

  1. 在输出结构中添加一个字段( LINE_COLOR(4)类型c )
  2. 更新布局,使包含线条颜色的字段为'LINE_COLOR'。

    ps_layout-info_fieldname ='LINE_COLOR'

  3. 更新引发SUBTOTAL_TEXT事件时要执行的表单名称(SUBTOTAL_TEXT)。 该更新在发送到REUSE_ALV_GRID_DISPLAY的参数it_events的表中。
  4. 以SUBTOTAL_TEXT

    FORM subtotal_text CHANGING

    p_total TYPE any的形式更改小计行的颜色
    p_subtot_text TYPE slis_subtot_text。
    FIELD-SYMBOLS:类型char4。
    分配结构的组件" LINE_COLOR" p_total到
    CASE p_subtot_text-criteria。当'A'。 当'B'。
    ='C510'。当'C'。
    ='C610'。 WHENOTHERS.MESSAGEe007zgen)。ENDCASE。

  5. 调用REUSE_ALV_GRID_DISPLAY

    呼叫功能'REUSE_ALV_GRID_DISPLAY'EXPORTING
    i_callback_program = i_repid
    is_layout = ls_layout
    it_fieldcat = ct_fieldcat
    it_sort = s <事件 > t_outtab = t_outtab

    在调试器中,似乎颜色字段已更改,但输出中的颜色未更改。

    我在做什么错了?

    谢谢

    Hagit

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

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


专家您好,

我将REUSE_ALV_GRID_DISPLAY与it_sort参数一起使用(以显示小计)。

我有3个小计。 我的目标是为每个小计行用相同的颜色涂上相同的颜色。

我的步骤是:

  1. 在输出结构中添加一个字段( LINE_COLOR(4)类型c )
  2. 更新布局,使包含线条颜色的字段为'LINE_COLOR'。

    ps_layout-info_fieldname ='LINE_COLOR'

  3. 更新引发SUBTOTAL_TEXT事件时要执行的表单名称(SUBTOTAL_TEXT)。 该更新在发送到REUSE_ALV_GRID_DISPLAY的参数it_events的表中。
  4. 以SUBTOTAL_TEXT

    FORM subtotal_text CHANGING

    p_total TYPE any的形式更改小计行的颜色
    p_subtot_text TYPE slis_subtot_text。
    FIELD-SYMBOLS:类型char4。
    分配结构的组件" LINE_COLOR" p_total到
    CASE p_subtot_text-criteria。当'A'。 当'B'。
    ='C510'。当'C'。
    ='C610'。 WHENOTHERS.MESSAGEe007zgen)。ENDCASE。

  5. 调用REUSE_ALV_GRID_DISPLAY

    呼叫功能'REUSE_ALV_GRID_DISPLAY'EXPORTING
    i_callback_program = i_repid
    is_layout = ls_layout
    it_fieldcat = ct_fieldcat
    it_sort = s <事件 > t_outtab = t_outtab

    在调试器中,似乎颜色字段已更改,但输出中的颜色未更改。

    我在做什么错了?

    谢谢

    Hagit

付费偷看设置
发送
8条回答
亦是此间程序员
1楼-- · 2020-09-05 17:54

嗨,

只需尝试下面的波纹管,这可能是解决方法。 这是用于单元格的,但您也可以将其用于列。 这可能不是答案,但是您可以尝试这种方式。

cellcolor类型为lvc_t_scol。

数据:ls_cellcolor类型为lvc_s_scol。

然后为此

填充总数

ls_cellcolor-fname ='TOTAL'。

ls_cellcolor-color-col ='7'。

ls_cellcolor-color-int ='1'

APPEND ls_cellcolor变为IT_FINAL-cellcolor

u可以为该单元格获取不同的颜色。

ALV行颜色更改并使每个行都具有不同的颜色

CPLASF-自律
2楼-- · 2020-09-05 17:50

我从未见过任何SAP ALV示例,其总行和小计行的颜色与标准不同 方式,所以您难道不要期望太多吗?

野沐沐
3楼-- · 2020-09-05 18:04

使用cl_salv_table或cl_gui_alv_grid。 比REUSE_ALV_GRID_DISPLAY

三十六小时_GS
4楼-- · 2020-09-05 17:51

您好 Nawanandana Edirisinghe

我没有填充总数。 总和小计由系统填充。 我只是填充参数it_sort并将其发送到REUSE_ALV_GRID_DISPLAY。

所以我不能使用您的解决方案。

以任何方式感谢您的回答

能不能别闹
5楼-- · 2020-09-05 17:56

嗨,

对于小计,您使用的是slis_t_sortinfo_alv。

it_sort = ct_subtot_flds

没有选项可以在常规alv中修改小计的默认颜色。但我们可以通过修改 cl_gui_alv_grid类来实现,方法是修改每个单元格。 em>


95年老男孩
6楼-- · 2020-09-05 17:56
Hagit Sammet REUSE_ALV_GRID_DISPLAY用于显示网格控件 ,它不能显示多于一行,除非您对控件进行了调整(但是您也可以使用CL_SALV_TABLE等来实现)。 如果您能够"在一个ALV的单元格中显示多行(长文本)",则意味着您通过ABAP列表显示了ALV,因此您也可以使用REUSE_ALV_LIST_DISPLAY ...(无论如何都无法回答您的问题) 题)。 但是如果我错了,那么如果您向社区展示如何做到这一点,那么您将成为ABAP神!

一周热门 更多>