热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于ALV颜色的控制

本文转自http:scnblogs.techweb.com.cnqq19851116archives3.htmlALV的颜色控制可以分3中级别:1.数据LIST中某一

本文转自http://scnblogs.techweb.com.cn/qq19851116/archives/3.html

ALV的颜色控制可以分3中级别:

1.数据LIST中某一行颜色的控制

2.数据LIST中某一列颜色的控制

3.数据LIST中某个单元格颜色的控制

如果在ALV中这三种颜色控制同时存在时,它们会有一个优先级的。单元格控制的优先级别最高,下来是行控制的优先级,最后是列控制的优先级。

效果如下

ALV颜色控制

代码如下

TH_LAYOUT-coltab_fieldname

这个属性里面放的是内表中表示行颜色字段的CODE

TH_FIELDCAT-emphasize = ‘C110′.

这个属性里面放的是内表中表示列颜色字段的属性,在ALV的FIELDCAT属相设置时把颜色代码值(C110)填入即可.

TH_LAYOUT-info_fieldname = ‘LNCOLOR’.

这里面放的字段是内表中单元格颜色字段的CODE.

    COLOR     TYPE slis_t_specialcol_alv,

   在内表中要定义一个字段(COLOR)参考这个内表,slis_t_specialcol_alv它里面有FIELDNAME,COL,INT,INV属性需要设置。分别是字段名字,颜色代码,背景深浅度,字体深浅度控制。

      TH_COLOR-fieldname = ‘COUNTRYFR’.
      TH_COLOR-color-col = ‘6′.
      TH_COLOR-color-int = ‘1′.
      TH_COLOR-color-inv = ‘1′.
REPORT  ZTEST_SPFLI MESSAGE-ID zf.

INCLUDE .

INCLUDE .

TYPE-POOLS:slis.

TABLES:
  SPFLI.

TYPES:
  BEGIN OF TYP_SPFLI,
    CARRID    TYPE SPFLI-CARRID,
    CONNID    TYPE SPFLI-CONNID,
    COUNTRYFR TYPE SPFLI-COUNTRYFR,
    COUNTRYTO TYPE SPFLI-COUNTRYTO,
    CITYFROM  TYPE SPFLI-CITYFROM,
    CITYTO    TYPE SPFLI-CITYTO,
  END OF TYP_SPFLI,

  BEGIN OF TYP_OUTPUT,
    CHECK     TYPE C,
    ICON      TYPE icon_d,
    SYMBOL    TYPE icon_d,
    CARRID    TYPE SPFLI-CARRID,
    CONNID    TYPE SPFLI-CONNID,
    COUNTRYFR TYPE SPFLI-COUNTRYFR,
    COUNTRYTO TYPE SPFLI-COUNTRYTO,
    CITYFROM  TYPE SPFLI-CITYFROM,
    CITYTO    TYPE SPFLI-CITYTO,
    COLOR     TYPE slis_t_specialcol_alv,
    LNCOLOR   TYPE CHAR4,
    HAND      TYPE INT4,
    LINK      TYPE string,
  END OF TYP_OUTPUT.

DATA:
  TH_SPFLI TYPE TYP_SPFLI,
  TD_SPFLI TYPE TABLE OF TYP_SPFLI,

  BEGIN OF TYP_DATA.
   INCLUDE STRUCTURE zcddi.
   DATA: A1 TYPE C,
         A3 TYPE N,
* zcddi
  END OF TYP_DATA,

  TH_COLOR TYPE slis_specialcol_alv,
  TD_COLOR TYPE TABLE OF slis_specialcol_alv,

  TH_LAYOUT TYPE SLIS_LAYOUT_ALV,
  TH_FIELDCAT TYPE slis_fieldcat_alv,
  TD_FIELDCAT TYPE TABLE OF slis_fieldcat_alv,

  TH_OUTPUT TYPE TYP_OUTPUT,
  TD_OUTPUT TYPE TABLE OF TYP_OUTPUT.
START-OF-SELECTION.

* PARAMETERS:      gjahr LIKE glpca-RYEAR MEMORY ID gjr OBLIGATORY.

 SELECT-OPTIONS:
   S_CARRID FOR SPFLI-CARRID,
   S_CONNID FOR SPFLI-CONNID.

 PERFORM FRM_GET_DATA.

 PERFORM FRM_EDIT_DATA.

 PERFORM FRM_DISPLAY_DATA.

*&———————————————————————*
*&      Form  FRM_GET_DATA
*&———————————————————————*
*       GET MAIN DATA
*———————————————————————-*
FORM FRM_GET_DATA .

  SELECT  CARRID
          CONNID
          COUNTRYFR
          COUNTRYTO
          CITYFROM
          CITYTO
   INTO  TABLE TD_SPFLI
   FROM   SPFLI
  WHERE CARRID IN S_CARRID
    AND CONNID IN S_CONNID.

 IF SY-SUBRC <> 0.
   MESSAGE S001 DISPLAY LIKE ‘E’.
   LEAVE LIST-PROCESSING.
 ENDIF.
ENDFORM.                    ” FRM_GET_DATA
*&———————————————————————*
*&      Form  FRM_DISPLAY_DATA
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_DISPLAY_DATA .
  PERFORM FRM_SET_TITLE.

  PERFORM FRM_SET_FIELDCAT.
  PERFORM FRM_CALL_FUNCTION.
ENDFORM.                    ” FRM_DISPLAY_DATA

*&———————————————————————*
*&      Form  FRM_SET_TITLE
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_SET_TITLE .
  TH_LAYOUT-colwidth_optimize &#61; ‘X’.
  TH_LAYOUT-coltab_fieldname &#61; ‘COLOR’.
  TH_LAYOUT-window_titlebar  &#61; ’spfli data’.
  TH_LAYOUT-detail_popup &#61; ‘X’.
  TH_LAYOUT-COLWIDTH_OPTIMIZE &#61; ‘X’.
  TH_LAYOUT-info_fieldname &#61; ‘LNCOLOR’.
ENDFORM.                    ” FRM_SET_TITLE
*&———————————————————————*
*&      Form  FRM_SET_FIELDCAT
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_SET_FIELDCAT .
  PERFORM FRM_SET_VALUE USING ‘1′ ‘CHECK’  ‘CHECK’ ‘1′ ‘X’.
  PERFORM FRM_SET_VALUE USING ‘2′ ‘ICON’   ‘ICON’ ‘5′ ‘ ‘.
  PERFORM FRM_SET_VALUE USING ‘3′ ‘SYMBOL’ ‘SYMBOL’ ‘5′ ‘ ‘.

  PERFORM FRM_SET_VALUE USING ‘4′ ‘CARRID’ ‘航线承运人ID’ ‘3′ ”.
  PERFORM FRM_SET_VALUE USING ‘5′ ‘CONNID’ ‘航班连接 Id’ ‘4′ ”.
  PERFORM FRM_SET_VALUE USING ‘6′ ‘COUNTRYFR’ ‘国家代码FROM’ ‘3′ ”.
  PERFORM FRM_SET_VALUE USING ‘7′ ‘COUNTRYTO’ ‘国家代码TO’ ‘3′ ”.
  PERFORM FRM_SET_VALUE USING ‘8′ ‘CITYFROM’ ‘起飞城市’ ‘20′ ”.
  PERFORM FRM_SET_VALUE USING ‘9′ ‘CITYTO’ ‘目标城市’ ‘20′ ”.

ENDFORM.                    ” FRM_SET_FIELDCAT
*&———————————————————————*
*&      Form  FRM_SET_VALUE
*&———————————————————————*
*       text
*———————————————————————-*
*      –>P_COL_POS  text   NO_ROWMARK
*      –>P_FIELDNAME  text
*      –>P_SELTEXT_L  text
*      –>P_OUTPUTLEN  text
*———————————————————————-*
FORM FRM_SET_VALUE  USING    I_COL_POS
                             I_FIELDNAME
                             I_SELTEXT_L
                             I_OUTPUTLEN
                             I_CHECKBOX.

 TH_FIELDCAT-COL_POS &#61;   I_COL_POS.
 TH_FIELDCAT-FIELDNAME &#61; I_FIELDNAME.
 TH_FIELDCAT-SELTEXT_L &#61; I_SELTEXT_L.
 TH_FIELDCAT-OUTPUTLEN &#61; I_OUTPUTLEN.
 IF I_FIELDNAME &#61; ‘CARRID’.

 ELSEIF I_FIELDNAME &#61; ‘CHECK’.
  TH_FIELDCAT-SELTEXT_M &#61; ‘SELECT’.
  TH_FIELDCAT-CHECKBOX &#61; ‘X’.
  TH_FIELDCAT-OUTPUTLEN &#61; 1.
  TH_FIELDCAT-EDIT &#61; ‘X’.
ELSEIF I_FIELDNAME &#61; ‘CITYFROM’ OR I_FIELDNAME &#61; ‘CITYTO’.
  TH_FIELDCAT-emphasize &#61; ‘C110′.
ELSEIF I_FIELDNAME &#61; ‘ICON’.
  TH_FIELDCAT-icon &#61; ‘X’.
ELSEIF I_FIELDNAME &#61; ‘SYMBOL’.
  TH_FIELDCAT-symbol &#61; ‘X’.
ENDIF.
 APPEND TH_FIELDCAT TO TD_FIELDCAT.
 CLEAR TH_FIELDCAT.

ENDFORM.                    ” FRM_SET_VALUE
*&———————————————————————*
*&      Form  FRM_CALL_FUNCTION
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_CALL_FUNCTION .
  CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
    EXPORTING
     I_CALLBACK_USER_COMMAND           &#61; ‘FRM_SET_COMMAND’
     IS_LAYOUT                         &#61; TH_LAYOUT
     IT_FIELDCAT                       &#61; TD_FIELDCAT
     I_SAVE                            &#61; ‘A’
    TABLES
      T_OUTTAB                          &#61; TD_OUTPUT
    EXCEPTIONS
      PROGRAM_ERROR                     &#61; 1
      OTHERS                            &#61; 2
            .
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    ” FRM_CALL_FUNCTION
*&———————————————————————*
*&      Form  FRM_EDIT_DATA
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FRM_EDIT_DATA .
  DATA:
    LW_INDEX TYPE SY-INDEX,
    LW_MOD   TYPE I.
  LOOP AT TD_SPFLI INTO TH_SPFLI.
    LW_INDEX &#61; SY-TABIX.
    LW_MOD &#61; LW_INDEX MOD 3.

    IF TH_SPFLI-CARRID IS INITIAL .

      TH_COLOR-fieldname &#61; ‘CARRID’.
      TH_COLOR-color-col &#61; ‘6′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ENDIF.

    IF TH_SPFLI-CONNID IS INITIAL.
      TH_COLOR-fieldname &#61; ‘CONNID’.
      TH_COLOR-color-col &#61; ‘6′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ENDIF.

    IF TH_SPFLI-COUNTRYFR IS INITIAL.
      TH_COLOR-fieldname &#61; ‘COUNTRYFR’.
      TH_COLOR-color-col &#61; ‘6′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ENDIF.

    IF TH_SPFLI-COUNTRYTO IS INITIAL.
      TH_COLOR-fieldname &#61; ‘COUNTRYTO’.
      TH_COLOR-color-col &#61; ‘6′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ELSEIF TH_SPFLI-COUNTRYTO &#61; ‘MQ’.
      TH_COLOR-fieldname &#61; ‘COUNTRYTO’.
      TH_COLOR-color-col &#61; ‘5′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ELSEIF TH_SPFLI-COUNTRYTO &#61; ‘CA’.
      TH_COLOR-fieldname &#61; ‘COUNTRYTO’.
      TH_COLOR-color-col &#61; ‘7′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ENDIF.

    IF TH_SPFLI-CITYFROM IS INITIAL.
      TH_COLOR-fieldname &#61; ‘CITYFROM’.
      TH_COLOR-color-col &#61; ‘6′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ENDIF.

    IF TH_SPFLI-CITYTO IS INITIAL.
      TH_COLOR-fieldname &#61; ‘CITYTO’.
      TH_COLOR-color-col &#61; ‘6′.
      TH_COLOR-color-int &#61; ‘1′.
      TH_COLOR-color-inv &#61; ‘1′.
      APPEND TH_COLOR TO TD_COLOR.
      CLEAR TH_COLOR.
    ENDIF.

    MOVE-CORRESPONDING  TH_SPFLI TO TH_OUTPUT .
    CLEAR TH_SPFLI.
    TH_OUTPUT-COLOR[] &#61; TD_COLOR[].

    IF LW_INDEX >&#61; 3 AND LW_INDEX &#61;<13.
      TH_OUTPUT-LNCOLOR &#61; ‘C700′.
    ENDIF.

*    TH_OUTPUT-HAND   &#61; SY-TABIX.
*    TH_OUTPUT-LINK   &#61; ‘WWW.BAIDU.COM’.
  IF LW_MOD <> 0.
    TH_OUTPUT-ICON   &#61; ICON_TIME.
    TH_OUTPUT-SYMBOL &#61; SYM_LEFT_HAND.
  ELSE.
    TH_OUTPUT-ICON   &#61; ICON_COLOR.
    TH_OUTPUT-SYMBOL &#61; sym_folder.
  ENDIF.
    APPEND TH_OUTPUT TO TD_OUTPUT.
    CLEAR:
      LW_INDEX,
      LW_MOD,
      TH_OUTPUT.
    REFRESH:
      TD_COLOR.
  ENDLOOP.
ENDFORM.                    ” FRM_EDIT_DATA

FORM FRM_SET_COMMAND USING r_ucomm LIKE sy-ucomm
                  rs_selfield TYPE slis_selfield.

  CASE r_ucomm.
      WHEN ‘&IC1′. “双击事件

*        READ TABLE itab INTO wa INDEX rs_selfield-tabindex.
*
*        SET PARAMETER ID ‘BLN’ FIELD wa-belnr.
*        SET PARAMETER ID ‘BUK’ FIELD wa-bukrs.
*        SET PARAMETER ID ‘GJR’ FIELD wa-gjahr.
*
*        CALL TRANSACTION ‘FB03′ AND SKIP FIRST SCREEN.
    ENDCASE.

ENDFORM.

转:https://www.cnblogs.com/kalasitifen/archive/2012/10/16/2725890.html



推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
author-avatar
ytdytduyufy_100
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有