안녕하세요..
오랜만에 문의를 드리네요..
그림과 같이 Class를 이용하지 않은 ALV가 있습니다.
데이타가 좀 많네요.^^
100개의 데이타가 출력되었다고 가정할 때
99번째 CheckBox를 클릭하면 Refresh가 실행되어 1번행으로 이동되네요..^^
전 화면상에 선택한 CheckBox를 보여주고 싶은뎅..
FORM user_command USING fp_ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
l_fieldname = selfield-fieldname.
CASE fp_ucomm.
WHEN '&IC1'. "선택(F2)
* Hotspot 기능
IF l_fieldname EQ 'CHECK'.
IF gt_list-check = 'X'.
gt_list-check = ''.
MODIFY gt_list INDEX sy-tabix TRANSPORTING check.
ELSE.
LOOP AT gt_list where vbeln = gt_list-vbeln.
gt_list-check = 'X'.
MODIFY gt_list TRANSPORTING check.
ENDLOOP.
ENDIF.
ENDIF.
ENDCASE.
selfield-refresh = 'X'. "화면 새로고침
ENDFORM.
문의가 좀 애매하죠?
ALV에서 CheckBox를 선택하면 선택한 행으로 Set Focus가 되게하려고 합니다.
이상하게 안되네요..쩝..
조언 부탁드립니다.
class 'CL_GUI_ALV_GRID'의
method 'REFRESH_TABLE_DISPLAY' 사용시 파라메터 'IS_STABLE'를 설정하는 방법도 있습니다.
다른 방법도 있는데 지금은 생각이.. ^^;;
여유되시면, class 'CL_GUI_ALV_GRID'의 method를 찾아보세요.
----------------
[수정]
앗. class를 이용하지 않으셨군요.
전 function을 거의 사용하지 않아, 해당 code를 보아도 관련 설정부분을 못찾았습니다.
아래 답글 달아주시는 분들이 명쾌한 답을 해주시리라 기대하면서 전 이만... =3=3=3=3