* CALL METHOD g_grid_main->get_selected_rows
* IMPORTING
* et_index_rows = lt_rows.
현재 ALV 프로그램은 클래스로 구현이 되었있습니다.
다수의 레코드 라인을 각각(Ctrl+선택) 선택 했을 때, 해당 라인의 Index 정보가 위 메소드를 통해 들어오는데요.
문제는 Ctrl키로 다수의 레코드 라인을 선택하는것이 아니라, 마우스로 드래그를 해버리면 정확한 인덱스 정보가
들어오지를 않습니다.
어떻게 처리해야 하나요? ㅜㅜ 도와주십시오.
댓글 3
-
특정단어
2010.06.01 00:28
-
맑은하늘
2010.06.01 01:12
^^;; ROWTYPE 이 S ~ 는 Summary 필드인것 같네요. 그 필드를 제외한 나머지 필드로
읽으시면 될 것 같습니다. rowtype 이 space 인것등등....
또는 et_row_no 의 sub_row_id 가 '0'인것만 하시던지
et_row_no의 row_id > 0 인것만 하시던지 그러시면 되겠네요.
편하신대로 하시면 될것 같네요.
-
삐지미
2010.06.01 18:36
[특정단어]님, [맑은하늘님] 감사합니다.
덕분에 문제를 해결했습니다.
감사합니다.
이 샘플을 참고하세요.
* 선택라인
CALL METHOD go_grid->get_selected_rows
IMPORTING
et_index_rows = gt_rows.
DELETE gt_rows WHERE rowtype IS NOT INITIAL. "aggregation라인 삭제
IF gt_rows[] IS INITIAL.
<선택 열 없음>
ENDIF.
CHECK gt_rows[] IS NOT INITIAL.
LOOP AT gt_rows INTO ls_row.
READ TABLE gt_outtab INTO gs_outtab INDEX ls_row-index.
<TO DO LIST...>
ENDLOOP.