첨부화일을 올려 놓았습니다.
--------------------------------
탭1 / 탭2
---------------------------------------------------------------------------------
상태 구분 공급업체 checkbox1 checkbox2 checkbo2
---------------------------------------------------------------------------------
XXX XXX XXXX ㅁ ㅁ ㅁ
XXX XXX XXXX ㅁ ㅁ ㅁ
XXX XXX XXXX ㅁ ㅁ ㅁ
---------------------------------------------------------------------------------
위와같을경우 DATA_change class method를 사용하여 보니 checkbox1를 클릭하면 반응이 없고
더블클릭하면 반응이 나오더군요....
저는 checkbox1 또는 checkbox2를 클릭하였을경우 event를 실행하여
checkbox1 --> checkbox2 --> checkbox3 순으로 체크가 순서대로 되도록 하고싶어요....
checkbox1를 클릭했을경우 클릭한 시간을 받아도 하고요...
많은 분들의 도움을 요청합니다.... 2틀째 고민중입니다. 정말 어렵네요..
<고맙습니다>
위와 같은 예제가 있으시면 더욱 고맙겠습니다.
댓글 6
-
쭌수야~!
2009.11.18 17:45
-
요요
2009.11.19 01:01
흠... 댓글 다 지워졌네요..ㅠㅠ
g_grid->register_edit_event( exporting i_event_id = g_grid->mc_event_modified ). 를
set handler g_event_receiver->handle_data_changed for g_grid. 로 설정하고 넣어주시면
checkBox를 마우스로 클릭시 데이터가 변하면서 data_changed 이벤트를 타게 될 거예요
아마도 modified 에 대한 edit event가 등록이 안되어서 그런것 같습니다.
프로그램을 살펴보시고 없으면 edit event에 대한 modified 를 등록해 주시면 될 거예요.
좋은 결과 있으시길 바랍니다.
-
요요
2009.11.19 01:13
이벤트 설정부분 코딩만 보자면
CREATE OBJECT g_event_receiver.
SET HANDLER g_event_receiver->handle_data_changed FOR g_grid.
g_grid->register_edit_event(
EXPORTING i_event_id = g_grid->mc_evt_modified
).
이정도 들어가겠네요. ^^
-
쭌수야~!
2009.11.19 02:34
요요님.
edit event에 대한 modified 를 등록해주면 된다고 하셨는데요...
editable ALV 를 만들때는 항상 위와 같이 등록해주고 handler도 셋팅해주지만...
checkbox 에서 원클릭으로 이벤트가 발생되는것을 보지 못했습니다.
정녕... 정녕.... 원클릭으로 처리가 가능하다면... ㅠ.ㅜ
그 처리하셨던 소스 좀 올려주심 안될까요?? ^^;;
-
eskang
2009.11.21 07:29
좋은 조언해 주셔서 감사합니다.... ==> 다른 방법 hotspot를 사용해서 구현했어요....
checkbox를 한번 클릭해서 DATA CHANGE 이벤트 발생은 성공하지 못했어요...
(tab control를 이용해서 그 안에 alv를 사용했을때...)
참.. class를 사용하지 않고 checkbox를 여러개 해서 command_data_change하는 방법으로 checkbox 클릭시 이벤트 발생하는 것은 가능하더군요....
-
eskang
2009.11.30 23:15
....
원클릭으로 처리하고 싶으신 거죠??
편법으로 처리가 가능합니다만... ^^;;;;
체크박스를 한번 클릭했을때는 event 가 발생 하지 않으니 해당 필드에 hotspot 처리를 해서 하셔도 될듯합니다.
fieldcatalog-hotspot = 'X' 해주시고 hotspot_click event 에서 원하시는 처리를 하시면 됩니다. ^^