제 온라인 프로그램을 개발하고 있는데
위쪽에는 일반 텍스트 필드 헤더 내용이고
밑에 쪽에는 alv 클래스로 아이템을 보여줍니다.
그런데 alv에는 처음에는 모두 수정 못하게 display 모드 지만
헤더 쪽에 변경버튼 클릭시 alv의 수량필드를 수정할 수 있게 만들려고 하는데
필드 카탈로그의 edit 필드에 'x'값이 들어가긴하는데
실제로는 화면에는 display 모드 입니다.
alv가 리프레쉬가 되지 않는 것 같습니다.
실제로 다시 만들어 주려고 컨테이너를 clear 시져주고 다시 처음부터 만들어 주는데도
처음과 같은 화면이 나타납니다.
왜이러는지 알 수 없어 자문 구합니다.
댓글 2
-
crazybarthez
2010.05.11 02:27
-
홀로서는나비
2010.05.11 02:38
클래스 ALV 에서 필드를 에디트 가능하게 하려면 다음의 세 요소가 필요합니다.
1. 필드카탈로그에서 EDIT = 'X'
2. 메소드 SET_READY_FOR_INPUT 에서 '1' 값
3. 메소드 REGISTER_EDIT_EVENT
1, 3 번 요소는 고정된 상태로 '변경' 버튼 클릭시 2번 요소를 0, 1 값 중의 하나로 변경해 보시기 바랍니다.
물론 윗분이 언급하신 리플레쉬 로직은 필수입니다. 컨테이너를 CLEAR 시키시는 것은 좋은 방법이 아닙니다.
IF CONTAINER IS INITIAL.
생성 부분
ELSE.
call method grid->refresh_table_display
exporting
is_stable = ls_stable.
ENDIF.
이거 아닐까요?? ㅠ