안녕하세요?
통상적으로 ALV 형태로 출력하는 방법에는 두가지가 있다고 알고 있습니다.
1. REUSE_ALV_GRID_DISPLAY(REUSE_ALV_LIST_DISPLAY)
2. CL_GUI_ALV_GRID 클래스의 메소드인 SET_TABLE_FOR_FIRST_DISPLAY
인터널 테이블안에 CHECK라는 CHAR 1 타입의 필드를 선언하여 리스트상에서 체크박스 버튼을 만들었습니다.
특정 조건일때 이 체크박스를 비활성화를 해주고 싶은데, 즉 체크박스를 눌러도 체크가 되지 않게 하고싶습니다.
두번째의 경우 인터널테이블 안에 LVC_T_STYL의 속성을 가지는 필드를 추가하여,
CL_GUI_ALV_GRID의 속성인 MC_STYLE_DISABLED(ENABLED)를 활용하여 필드를 비활성화/활성화 해줄수 있는데,
SLIS 펑션을 사용하여 REUSE_ALV_HIERSEQ_LIST_DISPLAY를 쓸 경우에는 이런 체크박스 필드 제어를 어찌해야 할까요?
참고로 레이아웃 속성은 SLIS_LAYOUT_ALV 를 참조하여 사용하고 있습니다.
답변을 부탁드리는 바입니다ㅠ
바쁜시간 읽어주셔서 감사합니따ㅠ
댓글 4
-
jm^^
2010.06.07 17:46
-
신동욱
2010.06.07 18:15
jm^^ 님의 답변 정말 감사드립니다.
REUSE_ALV_HIERSEQ_LIST_DISPLAY 펑션을 사용하여 헤더와 바디를 하나의 필드 카탈로그 안에 구현하는 부분이어서
헤더 인터널 테이블에 속해있는 체크박스만 제어하고 싶은데 말씀해주신 펑션으로 호환을 해볼려고 하니 덤프에러가 자꾸 발생하네요
ㅠㅠ 좀 더 찾아보고 시행해봐야겠군요
답변 다시 한번 정말 정말 감사드립니다.
꾸벅, 꾸벅~~
-
홀로서는나비
2010.06.07 21:21
ITAB-CHECK = '-'.
ITAB-CHECK = '1'.
ITAB-CHECK = '2'.
-
신동욱
2010.06.08 03:08
감사합니다 ^ㅡ^
안녕하세요.
제 생각에는 SLIS를 사용해서는 필드 비활성화/활성화가 힘들것 같습니다. 필드 비활성화/활성화시에 보통 style을 쓰는데 SLIS_LAYOUT_ALV 에 style을 적용시킬 만한게 안보이네요.
REUSE_ALV_GRID_DISPLAY_LVC 를 사용하면 class와 동일한 효과를 다 적용할 수 있는 것으로 아는데
LVC_TRANSFER_FROM_SLIS /LVC_TRANSFER_TO_SLIS 함수를 쓰셔서 LVC <-> SLIS 호환가능하게 하시는 건 어떨까합니다.
자세한 도움 못드려서 죄송하네요.