ALV GRID类型

不说了,该离职了,B站视频源码,侵权删。
在这里插入图片描述

REPORT zts_xsy_test14 MESSAGE-ID eu.
INCLUDE zts_xsy_test14top.
INCLUDE zts_xsy_test14form.

START-OF-SELECTION.
  PERFORM get_data.

END-OF-SELECTION.
  IF gt_student IS NOT INITIAL.
    PERFORM display_data.
  ELSE.
    MESSAGE s001 DISPLAY LIKE 'E'.
  ENDIF.
*&---------------------------------------------------------------------*
*&  包含                ZTS_XSY_TEST14TOP
*&---------------------------------------------------------------------*
*类型池
TYPE-POOLS slis.

TYPES: BEGIN OF gty_student.
TYPES: box TYPE c LENGTH 1.
        INCLUDE STRUCTURE zbc_xsy_student.
TYPES: icon  TYPE c LENGTH 4. "图标
TYPES: check TYPE c LENGTH 1. "复选框
*TYPES: line_color TYPE c LENGTH 4. "行颜色
TYPES: FIELD_COLOR TYPE LVC_T_SCOL.  "单元格颜色
TYPES: END OF gty_student.

DATA gt_student TYPE TABLE OF gty_student.
DATA gs_student TYPE gty_student.

*FUNCTION ALV
DATA gt_fieldcat TYPE slis_t_fieldcat_alv."列属性
DATA gs_fieldcat TYPE slis_fieldcat_alv.
DATA gs_layout   TYPE slis_layout_alv.  "全局参数

DATA gt_sort     TYPE slis_t_sortinfo_alv."排序
DATA gs_sort     TYPE slis_sortinfo_alv.

DATA gt_filter   TYPE slis_t_filter_alv.  "筛选
DATA gs_filter   TYPE slis_filter_alv.

DATA gt_events   TYPE slis_t_event.       "CALLBACK事件
DATA gs_events   TYPE slis_alv_event.

*DATA pr_document TYPE .


*宏 每个宏中最多可以 定义9个参数
DEFINE %%append_fieldcat.
  CLEAR GS_FIELDCAT.
  GS_FIELDCAT-COL_POS     = &1.
  GS_FIELDCAT-FIELDNAME   = &2 .
  GS_FIELDCAT-OUTPUTLEN   = &3 .
  GS_FIELDCAT-SELTEXT_M   = &4.

  CASE &2 .
    WHEN 'ZCODE'.
     GS_FIELDCAT-KEY = 'X'.
    WHEN 'ICON'.
     GS_FIELDCAT-ICON = 'X'.
    WHEN 'CHECK'.
     GS_FIELDCAT-CHECKBOX = 'X'.  "复选框
*     GS_FIELDCAT-EDIT  = 'X'."可选择
    WHEN 'WEIGH'.
     GS_FIELDCAT-DO_SUM = 'X'." 合计
     GS_FIELDCAT-HOTSPOT = 'X'. "热点
     GS_FIELDCAT-QUANTITY = 'KG'. "直接指明的单位
     GS_FIELDCAT-QFIELDNAME = 'ZUNIT'. "内表中标明当前数值的单位的字段
*     GS_FIELDCAT-EMPHASIZE = 'C601'."颜色设置
    WHEN 'ZUNIT'.
*      GS_FIELDCAT-EMPHASIZE = 'C600'. "颜色设置
  ENDCASE.
  APPEND GS_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION.

SELECT-OPTIONS s_zcode FOR gs_student-zcode.
*&---------------------------------------------------------------------*
*&  包含                ZTS_XSY_TEST14FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_data .
  DATA LS_SCOL TYPE LVC_S_SCOL.

  SELECT *
    FROM zbc_xsy_student
    INTO CORRESPONDING FIELDS OF TABLE gt_student
    WHERE zcode IN s_zcode.

  LOOP AT gt_student INTO gs_student.
*  图标
    IF gs_student-sex = 'F'.
      gs_student-icon  = icon_green_light." '@05@'.
    ELSE.
      gs_student-icon = icon_red_light.
    ENDIF.

*    颜色
*行颜色
*    IF GS_STUDENT-SEX IS INITIAL.
*      GS_STUDENT-LINE_COLOR = 'C600'. "性别为空,设置底纹颜色
*    ENDIF.

*单元格颜色
*1.性别字段增加颜色
IF GS_STUDENT-SEX IS INITIAL.
  CLEAR LS_SCOL.
  LS_SCOL-FNAME = 'SEX'.  "字段名
  LS_SCOL-COLOR-COL = 6.  "颜色
  LS_SCOL-COLOR-INT = 0.  "加重
  LS_SCOL-COLOR-INV =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值