如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
2008-10-19 13:05
507 查看
在ALV报表设计有时候需要根据一定条件将特定的单元显示成特定的颜色,具体实现步骤如下:
1. 在需要显示的内表中添加新的字段,字段类型为lvc_t_scol
2. 根据条件设置颜色数据;
3. 设置layout-coltab_fieldname的数据指定显示颜色的字段.
代码如下:(注意红色部分)
REPORT z_alv_color.
TYPE-POOLS: slis.
DATA: BEGIN OF it_flight OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
color TYPE lvc_t_scol,
END OF it_flight.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
layout TYPE slis_layout_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'IT_FLIGHT'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2.
SELECT carrid
connid
fldate
seatsmax
seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE it_flight
UP TO 20 ROWS.
DATA: col TYPE lvc_s_scol,
coltab TYPE lvc_t_scol,
color TYPE lvc_s_colo.
color-col = '6'.
color-int = '0'.
color-inv = '0'.
LOOP AT it_flight.
IF it_flight-seatsocc Eq 0.
col-fname = 'SEATSOCC'.
col-color = color.
APPEND col TO coltab.
CLEAR col.
it_flight-color = coltab.
MODIFY it_flight.
ENDIF.
ENDLOOP.
layout-coltab_fieldname = 'COLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_flight
EXCEPTIONS
program_error = 1.
1. 在需要显示的内表中添加新的字段,字段类型为lvc_t_scol
2. 根据条件设置颜色数据;
3. 设置layout-coltab_fieldname的数据指定显示颜色的字段.
代码如下:(注意红色部分)
REPORT z_alv_color.
TYPE-POOLS: slis.
DATA: BEGIN OF it_flight OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
color TYPE lvc_t_scol,
END OF it_flight.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
layout TYPE slis_layout_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'IT_FLIGHT'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2.
SELECT carrid
connid
fldate
seatsmax
seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE it_flight
UP TO 20 ROWS.
DATA: col TYPE lvc_s_scol,
coltab TYPE lvc_t_scol,
color TYPE lvc_s_colo.
color-col = '6'.
color-int = '0'.
color-inv = '0'.
LOOP AT it_flight.
IF it_flight-seatsocc Eq 0.
col-fname = 'SEATSOCC'.
col-color = color.
APPEND col TO coltab.
CLEAR col.
it_flight-color = coltab.
MODIFY it_flight.
ENDIF.
ENDLOOP.
layout-coltab_fieldname = 'COLOR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_flight
EXCEPTIONS
program_error = 1.
相关文章推荐
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入[转]
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
- ABAP--如何在'REUSE_ALV_GRID_DISPLAY'使用自定义F4帮助,返回多个字段以及计算修改其他字段
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
- FUNCTION 'REUSE_ALV_GRID_DISPLAY'常用参数的详细描述
- ABAP--处理'REUSE_ALV_GRID_DISPLAY'的双击事件
- ABAP--如何在REUSE_ALV_GRID_DISPLAY标识不同行用不同的颜色
- ABAP--如何在REUSE_ALV_GRID_DISPLAY标识不同行用不同的颜色
- ABAP--如何在REUSE_ALV_GRID_DISPLAY标识不同行用不同的颜色
- 用CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' 显示ALV报表