zoukankan      html  css  js  c++  java
  • ALV控制某列的颜色

    有时候想控制ALV某列的颜色,如图:
    ALV控制某列的颜色


    这个参数是在slis_t_fieldcat_alv这里面控制的:

      DATAfieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.

    CONSTANTS:
    con_red   TYPE char4 VALUE 'C500'                                    "红色
    con_green TYPE char4 VALUE 'C600'                                    "绿色

    DEFINE fill_fieldcat.
      fieldcat-col_pos   &1.
      fieldcat-fieldname &2.
      fieldcat-seltext_l &3.

      "设置列的颜色
      case fieldcat-fieldname.
        when 你想要的那个字段名称.                                      "借方红色,贷方绿色
          fieldcat-emphasize con_red.
        when 你想要的那个字段名称.
          fieldcat-emphasize con_green.
        when others.
      endcase.

      fieldcat-do_sum    'X'                                           "统计功能打开
      append fieldcat.
    END-OF-DEFINITION.


    然后在调用时:
     CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         is_layout                         = layout
         it_fieldcat                       = fieldcat[]
    ……


    至于色码:参考:http://blog.csdn.net/f122300349/article/details/5516371
    ALV里色码.就是颜色编码,4位CHAR型,形式如下所示:C X Y Z(四位),其中第一位为‘C’固定不变,X表示颜色代码(如下表所示),Y表示加强的设置,Z表示相反的设置。

    ALV使用到的颜色如下所示:
    C               color
    1              gray-blue
    2              light gray
    3              yellow
    4              blue green
    5              green
    6              red
    7              orange

    以下引自: http://blog.csdn.net/lijunhai/article/details/1967091

    1)颜色含义
    1:海蓝;2:浅清;3:黄色;4:浅蓝;5:青色;6:红色;7:橙色。
    (1)首位为主颜色;
    (2)次位为辅助颜色;
    (3)末位为0时,表示首位数字表为表格的底色;
    末位为1时,则表示以1为底色,首位数字则表为表格字体的颜色;
    末位为其它颜色时,则表示底色为ALV的默认颜色;
    以上三条是本人大概总结出来的规律,本人发现的现象基本如上,但也不一定全部正确。
    其中C200与系统标准ALV底色比较相似;C410与系统标准关键字颜色比较相似。
    2)列颜色:
    设置ALV字段fieldcat属性:i_fieldcat-emphasize = &3. "颜色
    fieldcat属性写入属性内表allfields:alv_append_field 'WERKS' '工厂' 'C110'.
    C110:为颜色代码;
    3)行颜色:
    (1)在内表itab定义一个字段line_color来存储颜色;loop内表itab,在需要显示颜色的行其值赋为颜色'C110';
    (2)在定义alv显示格式定义:
    设置ALV显示layout属性:i_layout-info_fieldname = 'LINE_COLOR',line_color为内表定义的存储颜色的列名。
    4)单元格颜色
    单元格颜色属性:LVC_S_SCOL,该属性为一结构,含三个字段:FNAME(30)、COLOR(颜色结构,含三个字段:col(10)、int(3)、inv(10))、NOKEYCOL(1)(覆盖码颜色)
    ALV列属性:coltab_fieldname
    exa
    定义内表itab含字段FLDNAME type LVC_S_SCOL;
    定义单元格颜色结构cellcolor type LVC_S_SCOL;
    循环内表,当要设置单元格颜色所在的列字段colname要设置颜色时
    fldname-FNAME = COLNAME
    fldname-COLOR-col = 2(颜色代码)
    fldname-COLOR-int = 1
    fldname-COLOR-inv = 0
    http://blog.sina.com.cn/sapliumeng
  • 相关阅读:
    python使用ORM之如何调用多对多关系
    ORM
    初学者用pycharm创建一个django项目和一个app时需要注意的事项
    CSRF verification failed. Request aborted.
    函数三生成器
    函数二函数进阶二
    函数二函数进阶
    函数一函数初识
    文件操作初识
    类型与运算五
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802273.html
Copyright © 2011-2022 走看看