ALV GRID的颜色

转载 2008年09月29日 14:07:00
 
ALV的颜色分为行的颜色、列的颜色和CELL的颜色。
1.行的颜色
    需要在要显示的内表中添加一个字段放置颜色信息,比如COLOR(4) TYPE C .
    ITAB-COLOR = 'C700'.
    此外,还要根据采用的FM方式还是CLASS方式设置一下显示颜色
  • FM方式: LS_LAYOUT-INFO_FIELDNAME = 'COLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      IS_LAYOUT   = LS_LAYOUT
      IT_FIELDCAT = LT_FIELDCAT
    TABLES
      T_OUTTAB    = ITAB.
  • CLASS方式:  SLA-INFO_FNAME = 'COLOR'.
    CALL METHOD GO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          IS_VARIANT                    = GS_VARIANT
          I_SAVE                        = 'A'
    IS_LAYOUT                     = SLA
    CHANGING
          IT_OUTTAB                     = ITAB[]
          IT_FIELDCATALOG               = GT_FIELDCAT[]
        EXCEPTIONS
          INVALID_PARAMETER_COMBINATION = 1
          PROGRAM_ERROR                 = 2
          TOO_MANY_LINES                = 3
          OTHERS                        = 4.
2.列的颜色
设置FIELDCAT就可以了,如:TMP_FIELDCAT-EMPHASIZE = 'C500'. "列的颜色
3.CELL的颜色
需要在要显示的内表添加一个字段:cellcolors TYPE lvc_t_scol.
ls_cellcolor-color-col = '5' .
ls_cellcolor-color-int = '1' .
ls_cellcolor-color-inv = '1' .
APPEND ls_cellcolor TO list-cellcolors .
APPEND list.
 
例子:
REPORT  Z_BARRY_ALV_CL_COLOR2                      .
TYPES: BEGIN OF ilist_s ,
      name1(10),
      name2(10),
      name3(10),
END OF ilist_s.
DATA: ilist TYPE STANDARD TABLE OF ilist_s WITH HEADER LINE .
DATA: BEGIN OF list OCCURS 0.
        INCLUDE STRUCTURE ilist .
DATA: rowcolor(4) TYPE c ,
      cellcolors TYPE lvc_t_scol ,
      cellstyles TYPE lvc_t_styl ,
      celltext   TYPE alv_t_dtv .
DATA: END OF list.
DATA: ok_code LIKE sy-ucomm.
DATA: l_valid(1) TYPE c.
DATA: go_grid             TYPE REF TO cl_gui_alv_grid.
DATA: gt_fieldcat TYPE lvc_t_fcat,
      gs_fieldcat TYPE lvc_s_fcat,
      sla         TYPE lvc_s_layo.
DATA: ls_fieldcat TYPE lvc_s_fcat.
DATA ls_style TYPE lvc_s_styl .
DATA ls_cellcolor TYPE lvc_s_scol .
DATA ls_celltext     TYPE alv_s_dtv .
*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
    METHODS handle_button_click
      FOR EVENT button_click OF cl_gui_alv_grid
      IMPORTING es_col_id
                es_row_no.
ENDCLASS.                    "lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_button_click.
    PERFORM test USING es_col_id
                       es_row_no.
ENDMETHOD.                                                "handle_f4
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
DATA: event_receiver TYPE REF TO lcl_event_receiver.
DATA: ii TYPE i .
START-OF-SELECTION.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname     = 'NAME1'.
ls_fieldcat-scrtext_l     = 'NAME1'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname     = 'NAME2'.
ls_fieldcat-scrtext_l     = 'NAME2'.
*    ls_fieldcat-emphasize = 'C610'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname     = 'NAME3'.
ls_fieldcat-scrtext_l     = 'NAME3'.
APPEND ls_fieldcat TO gt_fieldcat.
list-name1 = 'A'.
list-name2 = 'ARE'.
ls_cellcolor-fname = 'NAME1' .
ls_cellcolor-color-col = '5' .
ls_cellcolor-color-int = '1' .
ls_cellcolor-color-inv = '1' .
APPEND ls_cellcolor TO list-cellcolors .
APPEND list.
list-name1 = 'AA'.
list-name2 = 'BB'.
ls_cellcolor-fname = 'NAME2' .
ls_cellcolor-color-col = '3' .
ls_cellcolor-color-int = '1' .
ls_cellcolor-color-inv = '1' .
APPEND ls_cellcolor TO list-cellcolors .
APPEND list.
list-name1 = 'HOW'.
list-name2 = 'ARE'.
list-rowcolor = 'C410'.
ls_style-fieldname = 'NAME3' .
ls_style-style = cl_gui_alv_grid=>mc_style_button .
* ls_style-style = cl_gui_alv_grid=>MC_STYLE_HOTSPOT.
APPEND ls_style TO list-cellstyles .
ls_celltext-buttoncell = 'TEST'.
APPEND ls_celltext TO list-celltext.
APPEND list.
sla-stylefname = 'CELLSTYLES'.
sla-ctab_fname = 'CELLCOLORS'.
sla-info_fname = 'ROWCOLOR'.
WRITE 'a'.
CREATE OBJECT go_grid
        EXPORTING
          i_parent = cl_gui_container=>screen0.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_button_click FOR go_grid.
CALL METHOD go_grid->set_table_for_first_display
    EXPORTING
*      is_variant                    = gs_variant
      i_save                        = 'A'
      is_layout                     = sla
    CHANGING
      it_outtab                     = list[]
      it_fieldcatalog               = gt_fieldcat[]
    EXCEPTIONS
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      OTHERS                        = 4.
*&---------------------------------------------------------------------*
*&      Form test
*&---------------------------------------------------------------------*
FORM test USING    p_es_col_id TYPE lvc_s_col
                    p_es_row_no TYPE lvc_s_roid.
MESSAGE i899(fi) WITH p_es_col_id-fieldname p_es_row_no-row_id .
ENDFORM.                    " test

ALV的颜色分为行的颜色、列的颜色和CELL的颜色。

ALV的颜色分为行的颜色、列的颜色和CELL的颜色。 任务要求,将一定的Tabellenfeld 用黄色填充,也就是说 CELL的颜色 DATA: ls_cellcolorTYPElvc_...
  • SAPHOME
  • SAPHOME
  • 2011年11月10日 16:44
  • 3898

ABAP ALV_GRID介绍

ALV_GRID介绍一.ALV介绍 The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进...
  • deity0618
  • deity0618
  • 2010年07月01日 08:49
  • 2709

ALV 选择 刷新 问题

问题: 在设置CHECKBOX了,按钮后总是出现刷新不符合要求的问题 解决1:    gd_layout-box_fname  = SEL.         在ALV布局设置里有没有这句话,有则注释掉...
  • leechirslcc
  • leechirslcc
  • 2010年03月30日 10:31
  • 2296

ALV GRID颜色设置

ALV的颜色分为行的颜色、列的颜色和CELL的颜色。   1.行的颜色     需要在要显示的内表中添加一个字段放置颜色信息,比如COLOR(4) TYPE C .     ITAB-COLO...
  • zltpc007
  • zltpc007
  • 2008年10月18日 14:18
  • 2097

ALV OO:颜色控制

信号灯、ALV行颜色、ALV单元格颜色……
  • rztyzxzy
  • rztyzxzy
  • 2015年08月06日 16:47
  • 1256

ABAP ALV的颜色设定(单元格,行,列的颜色设定)

abap中如果需要到对某个单元格,某行, 某列想要进行颜色设定的话,有一下几种简单的方面。 注:1:海蓝;2:浅清;3:黄色;4:浅蓝;5:青色;6:红色;7:橙色      (1)首位为主颜色;...
  • forever_crazy
  • forever_crazy
  • 2013年11月04日 21:44
  • 5427

ALV列、行、单元格颜色设置

1)颜色含义 1:海蓝;2:浅清;3:黄色;4:浅蓝;5:青色;6:红色;7:橙色。 (1)首位为主颜色; (2)次位为辅助颜色; (3)末位为0时,表示首位数字表为表格的底色; 末位为1时,则表示以...
  • champaignwolf
  • champaignwolf
  • 2013年08月31日 19:11
  • 1317

SAP ABAP在alv grid中使用subtotal小计数据

小计需要配置的地方: 1、fieldcate中指定需要do_sum合计的字段 2、sort中指定合计依据的需排序字段 3、event事件回调subtotal_text子过程,显示文本 程序...
  • hugh_Lee
  • hugh_Lee
  • 2017年02月23日 13:57
  • 543

ALV 设置每行的颜色

有时候有这样的需求,要求设置每一行的颜色。 思路是: 在要输出的内表中加多一个field,把这个field作为layout中控制颜色的字段info_fieldname。 本文转载于: http:...
  • liangziyisheng
  • liangziyisheng
  • 2012年04月25日 16:10
  • 2923

关于ALV GRID的颜色

 ALV的颜色分为行的颜色、列的颜色和CELL的颜色。 1.行的颜色    需要在要显示的内表中添加一个字段放置颜色信息,比如COLOR(4) TYPE C .    ITAB-COLOR = C70...
  • lhx20
  • lhx20
  • 2008年07月02日 11:09
  • 1476
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ALV GRID的颜色
举报原因:
原因补充:

(最多只允许输入30个字)