因此,在CL_GUI_ALV_GRID
的TOOLBAR
事件中,參數E_OBJECT
具有我可以訪問的表MT_TOOLBAR
以手動更改所有按鈕。ABAP ALV網格 - 如何消除按鈕?
但是,我不認爲這是在ALV Grid看起來標準的兩個狀態之間切換的正確方法。
有沒有更好的方式來包括/排除工具欄中的標準按鈕,而不是像工具欄事件中的自定義按鈕那樣簡單地創建它們?
Thx,你們統治。
因此,在CL_GUI_ALV_GRID
的TOOLBAR
事件中,參數E_OBJECT
具有我可以訪問的表MT_TOOLBAR
以手動更改所有按鈕。ABAP ALV網格 - 如何消除按鈕?
但是,我不認爲這是在ALV Grid看起來標準的兩個狀態之間切換的正確方法。
有沒有更好的方式來包括/排除工具欄中的標準按鈕,而不是像工具欄事件中的自定義按鈕那樣簡單地創建它們?
Thx,你們統治。
類似REUSE_ALV_GRID_DISPLAY,但在課堂上CL_GUI_ALV_CLASS:
定義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
如果你在代碼中使用REUSE_ALV_GRID_DISPLAY
,這可能對你有所幫助:
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
希望它有幫助。
塔拉