ALV 红绿灯

前言

        在ABAP ALV中,LIGHTS_FIELDNAME参数是用于实现行级视觉指示或“灯光效果”的一个重要设置项,尤其适用于标记或突出显示列表中符合特定条件的行。这个参数通常是在定义ALV布局(使用结构如LVC_S_LAYOUT或通过SALV类的相应方法)时设置的。

        通过字段LIGHTS_FIELDNAME,你可以指定一个字段名,ALV将根据这个字段的值来决定是否对行进行特殊颜色标记。这通常用于表示数据行的状态,比如错误、警告或成功等。

实战

        该功能比较简单,直接通过 gs_layout-lights_fieldname  = 'LIGHT'参数实现即可。

展示效果

完整代码

TYPE-POOLS:slis.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: gs_layout TYPE slis_layout_alv.

DATA: BEGIN OF gt_data OCCURS 0,
  light(1), "信息灯列
  val(1),
  sel, "选择列
END OF gt_data.

START-OF-SELECTION.
  PERFORM f_inital.
  DEFINE def_inf.
    clear gt_fieldcat.
    gt_fieldcat-fieldname = &1.
    gt_fieldcat-seltext_l = &2.
    "这里要设置一下ddictxt为长文本,否则light列标题将显示为Exception
    gt_fieldcat-ddictxt = &3.
    append gt_fieldcat.
  END-OF-DEFINITION.

  def_inf 'LIGHT' '红绿灯'  'L'.
  def_inf 'VAL' '值'  'L'.

  gs_layout-lights_fieldname  = 'LIGHT'."指定灯列名

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      it_fieldcat = gt_fieldcat[]
      is_layout   = gs_layout
    TABLES
      t_outtab    = gt_data.

FORM f_inital .
  gt_data-light = ' '."取值范围为:空、1~3
  gt_data-val = '空'.
  APPEND gt_data .

  gt_data-light = '1'.
  gt_data-val = '1'.
  APPEND gt_data .

  gt_data-light = '2'.
  gt_data-val = '2'.
  APPEND gt_data .

  gt_data-light = '3'.
  gt_data-val = '3'.
  APPEND gt_data .
ENDFORM.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP_亮亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值