cancel
Showing results for 
Search instead for 
Did you mean: 

alv grid

Former Member
0 Kudos

Hi .

how to change the color of entier row in grid.

Thanks in advance.

Satish.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

REPORT ZALV_LIST1.

TABLES:

SPFLI.

TYPE-POOLS:

SLIS.

PARAMETERS:

P_COL TYPE I ,

P_ROW TYPE I,

P_COLOR(4) TYPE C .

DATA:

T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

FS_FIELDCAT LIKE LINE OF T_FIELDCAT,

FS_LAYOUT TYPE SLIS_LAYOUT_ALV ,

W_COLOR(4) ,

W_ROW TYPE I,

W_FIELDNAME(20),

W_PROG TYPE SY-REPID.

DATA:

BEGIN OF T_SPFLI OCCURS 0,

COLOR(4),

CHECKBOX ,

CELL TYPE SLIS_T_SPECIALCOL_ALV,

CARRID TYPE SPFLI-CARRID,

CONNID TYPE SPFLI-CONNID,

CITYFROM TYPE SPFLI-CITYFROM,

CITYTO TYPE SPFLI-CITYTO,

DISTANCE TYPE SPFLI-DISTANCE,

END OF T_SPFLI.

DATA:

FS_CELL LIKE LINE OF T_SPFLI-CELL.

SELECT *

FROM SPFLI

INTO CORRESPONDING FIELDS OF TABLE T_SPFLI.

W_COLOR = P_COLOR.

T_SPFLI-COLOR = P_COLOR.

IF P_COL IS INITIAL AND P_ROW GT 0.

MODIFY T_SPFLI INDEX P_ROW TRANSPORTING COLOR.

ENDIF.

FS_FIELDCAT-FIELDNAME = 'CARRID'.

FS_FIELDCAT-REF_TABNAME = 'SPFLI'.

FS_FIELDCAT-COL_POS = 1.

FS_FIELDCAT-KEY = 'X'.

FS_FIELDCAT-HOTSPOT = 'X'.

APPEND FS_FIELDCAT TO T_FIELDCAT.

CLEAR FS_FIELDCAT .

FS_FIELDCAT-FIELDNAME = 'CONNID'.

FS_FIELDCAT-REF_TABNAME = 'SPFLI'.

FS_FIELDCAT-COL_POS = 2.

FS_FIELDCAT-KEY = 'X'.

FS_FIELDCAT-HOTSPOT = 'X'.

APPEND FS_FIELDCAT TO T_FIELDCAT.

CLEAR FS_FIELDCAT .

FS_FIELDCAT-FIELDNAME = 'DISTANCE'.

FS_FIELDCAT-REF_TABNAME = 'SPFLI'.

FS_FIELDCAT-COL_POS = 3.

FS_FIELDCAT-KEY = ' '.

FS_FIELDCAT-EDIT = 'X'.

APPEND FS_FIELDCAT TO T_FIELDCAT.

CLEAR FS_FIELDCAT.

FS_FIELDCAT-FIELDNAME = 'CITYFROM'.

FS_FIELDCAT-REF_TABNAME = 'SPFLI'.

FS_FIELDCAT-COL_POS = 4.

FS_FIELDCAT-KEY = ' '.

APPEND FS_FIELDCAT TO T_FIELDCAT.

LOOP AT T_FIELDCAT INTO FS_FIELDCAT.

IF FS_FIELDCAT-COL_POS EQ P_COL.

FS_FIELDCAT-EMPHASIZE = P_COLOR.

W_FIELDNAME = FS_FIELDCAT-FIELDNAME.

IF P_ROW IS INITIAL AND P_COL GT 0.

MODIFY T_FIELDCAT FROM FS_FIELDCAT TRANSPORTING EMPHASIZE.

ENDIF.

ENDIF.

ENDLOOP.

FS_CELL-FIELDNAME = W_FIELDNAME .

FS_CELL-COLOR-COL = 6.

FS_CELL-NOKEYCOL = 'X'.

APPEND FS_CELL TO T_SPFLI-CELL.

IF P_ROW IS NOT INITIAL AND P_COL IS NOT INITIAL.

MODIFY T_SPFLI INDEX P_ROW TRANSPORTING CELL.

ENDIF.

FS_LAYOUT-INFO_FIELDNAME = 'COLOR'.

FS_LAYOUT-BOX_FIELDNAME = 'CHECKBOX'.

FS_LAYOUT-COLTAB_FIELDNAME = 'CELL'.

FS_LAYOUT-F2CODE = '&ETA'.

W_PROG = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_PROG

IS_LAYOUT = FS_LAYOUT

IT_FIELDCAT = T_FIELDCAT

TABLES

T_OUTTAB = T_SPFLI

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 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.

NOTE

Column and Row are colored with a coded color ‘Cxyz’.

Where C: Color (coding must begin with C)

X: Color Number

Y: Bold

Z: Inverse.

Just see link:http://www.saptechnical.com/Tutorials/ALV/ColorSALV/Demo.htm

Regards,

Shiva.

Answers (0)