그림 보일려나..
아밥 초짜 질문좀 드릴께요 아시는분들은 답변좀 부탁드리겠습니다.
아무튼 그림처럼 사용자가 Mark 필드를 직접 선택하지 않고
Status에서 선택 버튼을 만들어서 선택버튼을 누르면
저런식으로 선택한것 처럼 보이게 할 수 있는 방법이 있는지 궁금해서요
아시는분 답변 부탁드리겠습니다~~~~~~
댓글 5
-
버미!
2010.04.29 06:30
-
래피드
2010.04.29 19:36
버미님 제가 잘 안되서 그러는데여 지금 현재 버튼을 눌렀을 때 mark = X 부여하고
modify gt_itab transporting mark where mark = ''. 이런식으로 X값을 다 부여한 상황에서 refresh 를 태웠는데도 화면에는 선택한것 처럼
보이지 않아서요 혹시 다른 옵션값을 수정하거나 삭제해야되는게 있는지 해서요 예를들어 layout 속성중에 뭐.. sel_mode라든지..
답변좀 부탁드릴께요~
-
예스맨
2010.04.29 22:25
클래스를 사용한 alv라면
CALL METHOD grid->set_selected_rows
EXPORTING
it_index_rows = lt_rows.
요런 메소드를 사용해보시죠..
-
버미!
2010.04.30 00:56
ALV User Command 부분에
FORM user_command USING fp_ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
data : lv_tabix type sy-tabix.
CASE fp_ucomm.
when 'STEST'.
loop at gt_list where kunnr = '0003000200'.
clear : lv_tabix.
lv_tabix = sy-tabix.
gt_list-mark = 'X'.
modify gt_list index lv_tabix transporting mark.
endloop.
ENDCASE.
selfield-refresh = 'X'.
ENDFORM. "user_command
이 로직은 Status의 STEST란 버튼을 클릭하면 Kunnr 이 '0003000200' 인 놈들을 선택해 주는 코드입니다.
참고하세요
-
래피드
2010.04.30 23:34
버미님 말씀대로 Function alv에서 하니까 잘 되네요 ^^* Whoa~!
근데 class alv에서는 refresh까지 타는데도 안나오는걸 보면.. class에서는 구현이 안되는듯..ㅜ.ㅜ.
아니면 제가 못하는듯 .ㅜ.ㅜ.
아무튼 답변주신 분들 모두 감사드립니다~~
가능합니다. ALV Itab(ex. gt_alv)에 Mark 필드가 있다면 Status의 command 클릭시 gt_alv-mark 값을 X로 한 후에
Refressh하시면 됩니다. 물론 gt_alv-mark에 X 값을 넣는 조건이 있어야 겠죠...