* cell control.
DATA: gs_edit TYPE lvc_s_styl .
* itab
DATA : BEGIN OF gt_itab OCCURS 0,
bukrs LIKE bkpf-bukrs,
belnr LIKE bkpf-belnr,
bktxt LIKE bkpf-bktxt,
field_style TYPE lvc_t_styl, "FOR DISABLE
END OF gt_itab.
* cell EDIT CONTROL set
gs_edit-fieldname = 'BKTXT' .
gs_edit-style = cl_gui_alv_grid=>mc_style_enabled.
APPEND gs_edit TO gt_itab-field_style.
위처럼 작성해서하면
BKTXT 컬럼은 edit 가능하게 되야 할것 같은데 되질 않네요.
반대로 ALV의 fieldcatalog 세팅 부분에서 BKTXT의 속성을 edit = 'X'로 하고
gs_edit-style = cl_gui_alv_grid=>mc_style_disabled. 로 하면
조건에 해당하는 line별로 edit 불가하게는 되네요.
(결론)
edit 가능 속성 컬럼을 disabled 는 되는데
edit 불가능 속성 컬럼을 enabled는 안되는건가요?
일반적으로 특정 조건의 라인일때만 입력 가능하게 하고 싶은 경우가 많은데,
이럴때 특정조건 이외의 라인 모두를 막아야 하는 로직으로 만들어야 하니까
영 불편하네요.
제가 설명이 부족할지도 모르겠습니다.
그럼 좋은 하루 되세요.
댓글 8
-
초보아밥퍼
2008.04.02 02:04
-
Happy~
2008.04.02 02:56
LVC_S_STYL 스트럭쳐는 FIELDNAME,STYLE 로 구성된거라 어떤 필드를 어떤 속성으로 하겠느냐는걸 같이 해서 넘겨줘야 하는거라.참고로 위 로직으로 gs_edit-style = cl_gui_alv_grid=>mc_style_disabled는 잘 되거든요.
-
초보아밥퍼
2008.04.02 16:52
화면에서 5열의 필드가 있다면 enabled <-- 4개 disabled <-- 1개 는
된다는 말씀이신가요?
4개의 열을 disabled 하고 1개의 열을 enabled 시키시려면 EDIT 속성 'X' 제거하심되는데요
꺼꾸로 생각하심 될걸로 봅니다
제가 로직이 잘못됐다고 말씀드린건 GT_ITAB-FIELD_STYLE 후에 GT_ITAB 에대해
APPEND나 MODIFY 구문이 안보여서 드린 말입니다.
결론 바탕을 어떻게 까느냐에 따라 다르다... EDIT할꺼냐 안할꺼냐에따라...
참고가 되셨길....
-
비안개
2008.04.02 18:02
후음 혹시.. 레이아웃에
GS_LAYOUT-STYLEFNAME = '셀 스타일 필드명'.
GS_LAYOUT-STYLEFNAME = 'field_style'.
이 부분에 값을 넣어야 가능합니다.
레이아웃에 그 필드를 셀 컨드롤할 필드라고 정의를 해야 가능하거든요
-
초보아밥퍼
2008.04.02 18:07
위에 보시면 정의하신거 같은데요 ^^ -
Happy~
2008.04.02 18:21
초보아밥퍼님의 말씀처럼
"화면에서 5열의 필드가 있다면 enabled <-- 4개 disabled <-- 1개 는
된다는 말씀이신가요? " -> 네
"4개의 열을 disabled 하고 1개의 열을 enabled 시키시려면 EDIT 속성 'X' 제거하심되는데요
꺼꾸로 생각하심 될걸로 봅니다" -> 이게 안되더라구요.
Edit 속성을 space로 주고, 필요한 컬럼에 enabled 시키면 안먹더라구요.
Edit 속성을 'X'로 주고, 불필요한 컬럼에 disabled 시키면 되는데 말이죠...
-
초보아밥퍼
2008.04.02 18:42
이긍 글따라 가다보니 기본을 잊었네요... 어느 EDIT인지의 설명을 잘 안해드렸네요
필드카타로그 필드 edit 속성에 x 하심됩니다. 쩝쩝
레이아웃 edit <-- 공백
-
달이랑
2008.08.05 03:57
정말 감사합니다... 이것땜시... 오래 고민했는데.. 이글 보고 해결했어요..
gs_edit-fieldname = 'BKTXT' .
gs_edit-style = cl_gui_alv_grid=>mc_style_enabled.
APPEND gs_edit TO gt_itab-field_style.
로직이 잘못된거 같습니다.