통합 검색

통합 검색

ALV - Column별 STYLE 및 COLOR 반영하기
  • 작성자 관리자
  • 조회수 59
2024-01-26 11:45:17

[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 ) ).

      GT_ITAB-COLTAB VALUE #BASE GT_ITAB-COLTAB FNAME 'NAME1'

                                                      COLOR-COL 6

                                                      COLOR-INT ) ).

    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

답글 보기
  • 답글
답글 쓰기