통합 검색
통합 검색
[ALV의 필드 전체가 아닌 Column별 STYLE 및 COLOR를 반영하기 위한 로직]
- INTERNAL TABLE에 STYLE 및 COLOR를 적용하기 위한 DATA를 선언해야 한다.
DATA : BEGIN OF GT_ITAB OCCURS 0,
WERKS TYPE T001W-WERKS,
CELLTAB TYPE LVC_T_STYL, "STYLE을 위한 DATA선언
COLTAB TYPE LVC_T_SCOL, "COLOR을 위한 DATA선언
END OF GT_ITAB.
- 특정 조건인경우 STYLE값 및 COLOR값을 반영하는 로직을 추가한다.
LOOP AT GT_ITAB.
CLEAR : GT_ITAB-COLTAB.
IF GT_ITAB-WERKS = '1000'.
GT_ITAB-COLTAB = VALUE #( BASE GT_ITAB-COLTAB ( FNAME = 'WERKS'
COLOR-COL = 6
COLOR-INT = 1 ) ).
GT_ITAB-COLTAB = VALUE #( BASE GT_ITAB-COLTAB ( FNAME = 'NAME1'
COLOR-COL = 6
COLOR-INT = 1 ) ).
ENDIF.
CLEAR : GT_ITAB-CELLTAB.
IF GT_ITAB-WERKS = '2000'.
GT_ITAB-CELLTAB = VALUE #( BASE GT_ITAB-CELLTAB ( FIELDNAME = 'WERKS'
STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED ) ).
GT_ITAB-CELLTAB = VALUE #( BASE GT_ITAB-CELLTAB ( FIELDNAME = 'NAME1'
STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED ) ).
ENDIF.
MODIFY GT_ITAB.
ENDLOOP.
- ALV LAYOUT OPTION에 아래 정보를 추가해 준다.
GS_LAYOUT-STYLEFNAME = 'CELLTAB'. "INTERNAL TABLE에 선언한 STYLE관련 필드이름
GS_LAYOUT-CTAB_FNAME = 'COLTAB'. "INTERNAL TABLE에 선언한 COLOR관련 필드이름
댓글 0