REUSE_ALV_GRID_DISPLAY 쓰고 있는데요...
필드 별로 조건에 따라서 활성화 비활성화를 해주고 싶은데요...
KEY필드가 원래는 비활성화 였다가 행추가하면 활성화 이런식으로 바꿔주려고요...
REUSE에서는 안되는거 같은데 혹시 방법이 있나해서요...
REUSE_ALV_GRID_DISPLAY_LVC 이거 쓰는거 말고요...^^
* e-abap님에 의해서 게시물 이동되었습니다 (2010-05-25 15:32)
REUSE_ALV_GRID_DISPLAY 쓰고 있는데요...
필드 별로 조건에 따라서 활성화 비활성화를 해주고 싶은데요...
KEY필드가 원래는 비활성화 였다가 행추가하면 활성화 이런식으로 바꿔주려고요...
REUSE에서는 안되는거 같은데 혹시 방법이 있나해서요...
REUSE_ALV_GRID_DISPLAY_LVC 이거 쓰는거 말고요...^^
celltab을 쓰시면되는뎅...
음...제가 쓴 소스코드를 첨부해드릴게요..
* 필드카타로그의 속성을 celltab(저희 개발자분들은 저렇게 쓰시드라구요..이름을..)이라는 테이블에 제어내역을 넣어주는거에요..
DATA : lt_celltab TYPE lvc_t_styl,
lv_index TYPE i
"단 gt_item 에 celltab 필드 넣어주시구요(타입 lvc_t_styl.)
LOOP AT gt_item INTO gs_item.
lv_index = sy-tabix.
REFRESH : lt_celltab.
PERFORM fill_celltab CHANGING lt_celltab.
CLEAR : gs_item-celltab.
INSERT lines of lt_celltab INTO TABLE gs_item-celltab.
MODIFY gt_item INDEX lv_index FROM gs_item.
ENDLOOP.
FORM fill_celltab CHANGING pt_celltab TYPE lvc_t_styl.
DATA : ls_celltab TYPE lvc_s_styl.
DATA : ls_fcat TYPE lvc_s_fcat.
LOOP AT gt_fcat INTO ls_fcat.
ls_celltab-fieldname = ls_fcat-fieldname.
CASE ls_celltab-fieldname.
WHEN 'NETPR'
IF XXX IS NOT INITIAL. "제어옵션
ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
INSERT ls_celltab INTO TABLE pt_celltab.
ELSE.
ls_celltab-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_celltab INTO TABLE pt_celltab.
ENDIF.
WHEN OTHERS.
ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
INSERT ls_celltab INTO TABLE pt_celltab.
ENDCASE.
ENDLOOP.
위에서 제어를 해주시면 셀하나하나별로 제어가 가능하니..원하시는게 되실거에요..
그후에 alv 호출 또는 refresh_alv 하시면..될듯요..