`
zjut_xiongfeng
  • 浏览: 286879 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ALV 颜色 

阅读更多

关于ALV GRID的颜色

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
<script></script>
0
分享到:
评论

相关推荐

    ABAP-ALV行颜色展示

    用户想实现对质检及时率做个展示 为了更好的给用户更直观的展示,对超期数据标红展示了,未超期数据蓝色展示。

    ABAP_ALV_知识整理

    ABAP ALV(Algortihm List Viewer)是SAP ABAP编程中用于生成和显示表格数据的一种标准组件。它提供了灵活的表格布局,包括排序、过滤、分组和打印功能,极大地简化了用户界面的开发。以下是关于ABAP ALV的详细知识...

    ALV单个单元格的颜色设定

    如何设定ALV单个单元格的颜色属性 1. 在需要显示的内表中添加新的字段,字段类型为lvc_t_scol 2. 根据条件设置颜色数据; 3. 设置layout-coltab_fieldname的数据指定显示颜色的字段.

    ABAP-ALV进阶

    布局是用来控制整个 ALV 的一个布局,例如 ALV 的标题,是否可编辑,行颜色,列颜色等。 3. 打印和排序、过滤控制 打印的参数控制请参考结构 [LVC_S_PRNT],排序的参数控制请参考结构 [LVC_S_SORT],过滤的参数...

    ABAP OOALV学习文档

    - **布局控制 (Layout)**:控制整个 ALV 的布局,包括标题、可编辑性、行颜色、列颜色等。 ##### 创建 ALV 必要条件 1. **字段目录**:必须指定,可通过直接定义或引用数据字典中的结构。 2. **内表**:用于存放要...

    sap ALV列行

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

    面向对象的alv 资料

    * EMPHASIZE ALV控制:带有颜色的高亮列的颜色 * FIX_COLUMN ALV控制:固定列 * DO_SUM ALV控制:总计列值,X',合计 * NO_SUM ALV控制:没有总计列值,X' * NO_OUT ALV控制:列没有输出,X',隐藏此列 * TECH ALV控制...

    SAP ALV Grid资料整理 (很全面)

    3. 布局结构:用于设置 ALV 的显示格式,可以用来设置 ALV 的常用选项、GRID 控件的配置、汇总选项和颜色等。 4. 事件处理程序:如果我们想在 ALV Grid 中触发事件,可以通过事件处理类来实现,必须注册一个事件处理...

    ALV For WebDynpro

    此外,还可以通过设置回调函数来自定义ALV的行为,比如改变行的颜色或添加自定义按钮。 最后,为了提供良好的用户体验,可以对ALV进行样式调整。Web Dynpro支持CSS,可以通过定义样式表来改变ALV的外观,使其符合...

    SAP ALV总结 ALV总结

    - **设置全局属性**:在另一个子FORM(如F_BUILD_LAYOUT)中,可以设置ALV的全局属性,包括列宽、对齐方式、颜色、是否可编辑等。 - **数据输出**:在F_DISPLAY子FORM中,调用REUSE_ALV_GRID_DISPLAY_LVC函数,将...

    ALV_GRID介绍

    23. **EMPHASIZE**:ALV控制,用于指定是否带有颜色的高亮。 24. **FIX_COLUMN**:ALV控制,用于指定是否固定列。 25. **DO_SUM**:ALV控制,用于指定是否总计列值。 26. **NO_SUM**:ALV控制,用于指定是否没有总计...

    ALV中文教程(超经典)

    布局控制结构用来控制整个ALV的布局特性,如标题、是否可编辑、行颜色、列颜色等。这些信息通过一个工作区形式传递给ALV类方法。 例如,可以定义布局控制结构如下: ```abap DATA gs_layout TYPE lvc_s_layo. gs_...

    sap ALV常用参数的详细描述

    3. **is_layout**:此参数定义了ALV表格的整体布局和样式,可以通过它来设置诸如行颜色、列宽等属性。 4. **it_fieldcat**:这是一个包含字段定义描述的表,通过它定义ALV表格中的每一列的特性,如列名、宽度、对齐...

    SAP ALV GRID介绍

    字段目录用于控制ALV Grid 显示的每一列的属性,包括但不限于字段的顺序、对齐方式、可编辑状态以及颜色等。以下是一些常用的控制字段: 1. **ROW_POS**:输出行(内部使用)。 2. **COL_POS**:输出列的位置。 3. ...

    abap alv 函数参数说明

    + EMPHASIZE ALV:控制带有颜色的高亮列。 + FIX_COLUMN ALV:控制固定列。 + DO_SUM ALV:控制总计列值。 + NO_SUM ALV:控制没有总计列值。 + NO_OUT ALV:控制列没有输出。 + TECH ALV:控制技术字段,也是...

    ALV Grid Control 使用详细

    ALV Grid Control(SAP List Viewer)是一种灵活的工具,用于在SAP环境中展示列表数据。它不仅提供了基本的列表操作,如排序、过滤和分页,还支持自定义扩展,适应于大型应用程序的需求。ALV Grid Control允许用户在...

    REUSE_ALV_GRID_DISPLAY超详细讲解

    * emphasize:带有颜色的高亮列 * hotspot:作为热点显示 * currency:表TCURX中的货币名称 * quantity:计量单位 * qfieldname:参考计量单位的字段名称 * round:四舍五入至小数位数下 * exponent:浮点数的幂指数...

    SAP- ALV介绍

    - **EMPHASIZE**:带有颜色的高亮列。 - **FIX_COLUMN**:固定列。 - **DO_SUM**:总计列值。 - **NO_SUM**:没有总计列值。 - **NO_OUT**:隐藏列。 - **TECH**:技术字段。 - **OUTPUTLEN**:列的字符宽度。 - **...

    ABAP4培训教程ALV

    然后是表单显示区,显示数据的表格,包括字段描述、可选择按钮和可控制的排序、颜色和编辑属性。底部的黄色部分用于显示合计结果。最后,页脚(FOOTER)区域与头部类似,用于显示页脚信息,同样通过事件触发。 创建...

    ALV报表 abap报表

    color(4) TYPE C, "定义颜色 aplfz LIKE EINE-APLFZ, "计划交货时间 netpr LIKE EINE-NETPR, "净价 peinh LIKE EINE-PEINH, "单位价格 dwjj LIKE EINE-NETPR, "单位净价 bprme LIKE EINE-BPRME, "订单价格单位...

Global site tag (gtag.js) - Google Analytics