Class ALV에서 checkbox 인식하는 방법을 알고 싶습니다.(reuse_...ALV <-- Function alv 아님)
우선 하고 싶은건 화면에 ALV로 뿌려진 data중에서 특정 라인을 checkbox로 찍어서
loop at itab where mark = 'X'.
해당작업...
endloop.
이런식으로 처리하고자 합니다.
그런데 checkbox를 찍어서 user_command에 들어와보면 해당 line의 mark 값이 안들어와있네요.
'X' 로 되어있어야 하는데 말이죠.
참고로, 여러 혼란을 일으킬 수 있으므로 프로그램에 있는 코딩내용을 기술하겠습니다.
혹시 빠진내용이있으면 말씀주셔요.
답답하네요.
**************프로그램의 코딩 내용**********************
*..internal table 선언
DATA: BEGIN OF itab OCCURS 0,
mark LIKE sy-ctype,
...
DATA: END OF gt_itab.
*..ALV의 layout 세팅중 checkbox 지정
p_s_lvc_layo-box_fname = 'MARK'.
*..Class에 handle_data_changed 이벤트 정의,선언 및 handle 세팅함
* set_ready_for_input 메쏘드도 1로 세팅함
==> 이와같이 했는데도 itab의 mark에 값이 안들어오네요.
무엇이 문제일까요.
혹시 가능하시면 간단한 sample이라도 올려주실 수 있으시면 정말 감사하겠구요...
모두들 좋은 하루 되세요.
==> 아래 답글 다신 분이 계시네요...감사합니다.
제가 놓친 부분이 있는것 같아서 몇자 더 적습니다.
일반적으로 가장 앞 부분에 checkbox가 생기죠.(사각 버튼으로)
이걸 무시하고 따로 checkbox를 새로 만들어서 사용하고 싶지는 않습니다.
p_s_lvc_layo-box_fname = 'MARK'. <-- 이부분이 그 사각 버튼으로 checkbox를 사용하겠다는 말이구요.
fieldcat에 edit = 'X' 해서 사용하는건 두번째 그림처럼 따로 checkbox를 사용하겠다는 건데.
특정 목적을 위해서가 아닌경우에는 이렇게는 사용안하니까요.
참고하셔요.
체크박스 설정을 layout에서 해주셨네요?
거기서 하시지 마시고 필드카탈로그에서 설정해주세요.
lvc_s_fcat-checkbox = 'X'.
참조 프로그램 : SLIS의 BCALV_EDIT_05