좀전에 질문하였다가 SALV는 안된다고 해서 AVL로 전부 변경했습니다. 이게 뭔 삽질인지 ㅡㅜ
여튼..
ALV에서 컬럼별로 editable하게 변경하는건 알겠는데..
특정 한 셀만 editable하게 변경하고 싶습니다.
방법이 있나요???
댓글 4
-
you1228
2011.03.18 02:27
-
ABAPCHOJJA
2011.03.18 04:06
1. internal table 에 style 필드추가 ( style type lvc_t_styl )
2. grid layout 에 style 필드 추가 : layout-stylefname = 'STYLE'.
3. 해당 필드에 대한 수정가능 스타일 추가(itab의 해당라인에 대하여..)
style-fieldname = '필드이름'.
style-style = cl_gui_alv_grid=>mc_style_enabled.
insert style into table itab-style.
-
deepbluesea
2011.03.21 19:56
ALV에 CELLTAB을 추가해주면 CELL단위로 컨트롤 가능합니다.
**각 셀의 특성 제어
DATA : LT_CELLTAB TYPE LVC_T_STYL,
LS_CELLTAB TYPE LVC_S_STYL.
**CELL단위 HANDLIING
GS_FCATLAYO-STYLEFNAME = 'CELLTAB'.
LOOP AT IT_LIST.
IF IT_LIST-LGORT IS INITIAL.
LS_CELLTAB-FIELDNAME = 'LGORT'.
LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
INSERT LS_CELLTAB INTO TABLE LT_CELLTAB.
CLEAR IT_LIST-CELLTAB.
INSERT LINES OF LT_CELLTAB INTO TABLE IT_LIST-CELLTAB.
MODIFY IT_LIST.
LS_CELLTAB-FIELDNAME = 'MATNR'.
LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
INSERT LS_CELLTAB INTO TABLE LT_CELLTAB.
CLEAR IT_LIST-CELLTAB.
INSERT LINES OF LT_CELLTAB INTO TABLE IT_LIST-CELLTAB.
MODIFY IT_LIST.
LS_CELLTAB-FIELDNAME = 'EISBE'.
LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
INSERT LS_CELLTAB INTO TABLE LT_CELLTAB.
CLEAR IT_LIST-CELLTAB.
INSERT LINES OF LT_CELLTAB INTO TABLE IT_LIST-CELLTAB.
MODIFY IT_LIST.
LS_CELLTAB-FIELDNAME = 'VBAMG'.
LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
INSERT LS_CELLTAB INTO TABLE LT_CELLTAB.
CLEAR IT_LIST-CELLTAB.
INSERT LINES OF LT_CELLTAB INTO TABLE IT_LIST-CELLTAB.
MODIFY IT_LIST.
ENDIF.
ENDLOOP.
-
은미짱
2011.03.23 18:26
감사합니다. 해결했습니다~
음...SLIS 패키지에 ALV샘플 많으니 참고하시구요..
BCALV_GRID_EDIT 이 프로그램 보시면 답이 있을꺼같습니다.
cl_gui_alv_grid=>mc_style_enabled 이부분 잘 분석해보세요..