CALL METHOD grf_grid->set_table_for_first_display
이거 써서 ALV 구현하고 있습니다..
위아래로 필드 값이 같으면 병합해서 한 칸으로 보여주고 싶은데 방법이 있나요?
SALV에서는 정렬하면 저절로 병합이 되던데 이건 안되더라구요..
lvc_t_sort 에도 추가해줘봤는데 안되고..
방법이 없나요ㅠㅠ?
call function 'REUSE_ALV_GRID_DISPLAY'
이걸로 다시 바꾸기 싫어요..이건 정렬하면 병합되는듯...
SALV에서 이미 갈아엎었는데 또 엎자니ㅠㅠ
댓글 4
-
아밥맨
2011.03.23 23:33
-
은미짱
2011.03.23 23:54
gs_sort-spos = '1'.
gs_sort-fieldname = 'REQNO'.
gs_sort-up = 'X'.
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
CALL METHOD grf_grid->set_table_for_first_display
EXPORTING
i_save = c_layout_all
is_layout = gs_layout
it_toolbar_excluding = gt_toolbar_excluding
is_variant = gs_variant
CHANGING
it_outtab = outtab[]
it_fieldcatalog = gt_fieldcat[]
it_sort = gt_sort[].
이렇게 했는데..정렬만 되고 정작 병합은 안되네요...ㅠㅠ
-
은미짱
2011.03.24 00:03
후...
범인을 찾았습니다.
editable한 필드가 있으면 병합이 안되나보군요........................
-
deepbluesea
2011.03.24 00:33
ALV는 내부적으로 Edit한 필드가 있으면 Sort가 안됩니다.
컬러도 자동으로 변경되죠
class alv도 당연히 같은방식 구현 가능합니다.
GT_LVC_SORT-SPOS = '1'.
GT_LVC_SORT-FIELDNAME = 'SETNAME'.
GT_LVC_SORT-UP = 'X'.
GT_LVC_SORT-SUBTOT = 'X'.
APPEND GT_LVC_SORT.
CLEAR GT_LVC_SORT.
이런식으로 GT_LVC_SORT 생성해준 후,
CALL METHOD GO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = GS_LVC_LAYO
IT_TOOLBAR_EXCLUDING = GT_UI_FUNCTIONS
I_DEFAULT = C_X
I_SAVE = 'A'
IS_VARIANT = GS_VARIANT
CHANGING
IT_OUTTAB = GT_DATA
IT_FIELDCATALOG = GT_LVC_FCAT[]
IT_SORT = GT_LVC_SORT[].
이런식으로 호출하심 됩니다.