안녕하세요, 개동이입니다..
다름이 아니라, 버튼을 누르면 제목처럼 ALV를 수정 ↔ 입력 모드로 전환시키고 싶습니다..
지금 현재는
g_grid->set_frontend_fieldcatalog
g_grid->set_frontend_layout
g_grid->refresh_table_display
를 사용해서 버튼을 누르면 입력과 수정으로 전환이 되게는 했는데
이렇게 하면,
처음에는 하늘색, 짙은 파란색 등 컬러풀하게 나오는데
버튼을 클릭하면 회색으로 싹 바뀝니다.. -_-;;
그래서 제가 질문 드리고자 하는 것은
1. 회색으로 변하지 않고 처음의 컬러풀한 모양 그대로 수정 ↔ 입력 모드로 전환시키는 방법
2. 1번이 불가능하다면 아예 처음부터 alv를 회색으로 보여주는 방법
요거 2개 입니다..
아시는 분께서는 답변 달아주시면 감사하겠습니다.. ㅠ_ㅠ
댓글 3
-
개동이
2009.10.21 00:44
-
rune
2009.10.22 02:33
CALL METHOD g_grid->set_ready_for_input 이 펑션으로도 EDIT 여부를 설정할수 있습니다. 근데 이것도 색상은 변할걸로...
이게 맘에 안드시면 LAYOUT 속성에 'INFO_FNAME' 가 있는데 이건 ROW 하나의 색을 지정할수있습니다. 설정값을 주면서 맘에드는 색을 찾으시길 바랍니다. 아니면 'STYLEFNAME' 속성으로 셀하나마다 속성을 주는방법도........
-
태극
2009.10.22 18:20
입력모드에서 입력할수 있는 부분은 흰색, 입력불가능한 부분은 회색으로 보이실텐데요.. 언듯 생각할때, 처음엔 수정모드 모든 필드 비활성화(회색) 하여 보여주고, 이벤트 발생시 입력할 필드만 활성화 해준다면... 2번에 해당하는 답을 얻으실듯합니다..
답변 감사드립니다..우선 ZEBRA 옵션은 안 쓰고 있는데, ZEBRA = 'X'를 넣으면 회색, 짙은 하늘색, 회색, 짙은 하늘색 이렇게 번갈아 나와서 더 보기가 안 좋아서요;; ㅠ_ㅠ
버튼을 누르면 실행되는 코드는 다음과 같습니다..다른 설정사항을 어떻게 해야 하는지 알려주시면 감사하겠습니다..
FORM change_mode CHANGING pt_fieldcat TYPE lvc_t_fcat.
DATA: ls_fcat TYPE lvc_s_fcat.
LOOP AT pt_fieldcat INTO ls_fcat.
IF ls_fcat-fieldname EQ 'NAME'.
IF w_mode = 'C'.
ls_fcat-edit = 'X'.
ELSE.
ls_fcat-edit = ''.
ENDIF.
MODIFY pt_fieldcat FROM ls_fcat.
ENDIF.
ENDLOOP.
CALL METHOD g_grid->set_frontend_fieldcatalog
EXPORTING
it_fieldcatalog = pt_fieldcat[].
CALL METHOD g_grid->set_frontend_layout
EXPORTING
is_layout = gs_layout.
CALL METHOD g_grid->refresh_table_display.
ENDFORM. " CHANGE_MODE