2012-07-06 1 views
0

TOOLBAR 이벤트 내에서 E_OBJECT 매개 변수에는 모든 버튼을 수동으로 변경할 수있는 MT_TOOLBAR 테이블이 있습니다.ABAP ALV 그리드 - 버튼을 제거하는 방법은 무엇입니까?

그러나 ALV Grid의 표준 인 두 가지 상태를 전환하는 적절한 방법이라고 생각하지 않습니다.

도구 모음에 표준 단추를 포함하거나 제외시키는 더 좋은 방법은 툴바 이벤트의 사용자 정의 단추처럼 간단하게 만드는 것보다 낫습니까?

Thx, 너희들 규칙. 코드에서 REUSE_ALV_GRID_DISPLAY를 사용하는 경우

답변

2

:

유형 UI_FUNCTIONS의 테이블 및 유형 UI_FUNC의 작업 영역 정의 :

data: lt_exclude type ui_functions, 
     ls_exclude type ui_func. 

이 기능의 속성을 추가 당신 테이블에 숨기고 싶습니다.

ls_exclude = cl_gui_alv_grid=>mc_fc_sum. 
append ls_exclude to lt_exclude. 

표준 함수의 속성은 모두 접두어 MC_FC_으로 시작합니다. 또한 도구 모음에 전체 메뉴에 대한 접두어 MC_MB_이 있습니다.

set_table_for_first_display 메서드를 사용하여 표를 전달하고 it_toolbar_excluding

매개 변수를 내 보냅니다.
1

이 당신을 위해 도움이 될 수 있습니다

call function 'REUSE_ALV_GRID_DISPLAY' 
exporting 
    i_callback_program  = 'ZPROGRAM' 
    i_callback_pf_status_set = 'SET_PF_STATUS' 
    it_fieldcat    = it_fieldcat 
tables 
    t_outtab     = gt_itab. 

귀하의 SET_PF_STATUS 원하는 버튼의 일부를 제거하기 위해 다음과 같이해야한다. 이 예제에서는 "SORT_UP"버튼을 제거합니다.

form set_pf_status using rt_extab type slis_t_extab. 

data: lv_flag VALUE 'X'. 

if lv_flag is not INITIAL. 

    append '&OUP' to rt_extab. 

endif. 

set pf-status 'STANDARD' excluding rt_extab. 
endform.     "set_pf_status 

희망했다.

Talha

REUSE_ALV_GRID_DISPLAY 비슷하지만 클래스 CL_GUI_ALV_CLASS에서