したがって、パラメーターのTOOLBAR
イベント内には、すべてのボタンを手動で変更するためにアクセスできるテーブルがあります。CL_GUI_ALV_GRID
E_OBJECT
MT_TOOLBAR
ツールバーイベントでカスタムボタンのように単純に作成するよりも、ツールバーに標準ボタンを含める/除外するより良い方法はありますか?
REUSE_ALV_GRID_DISPLAY
インクラスと同様CL_GUI_ALV_GRID
の方法もあります。
UI_FUNCTIONS
type のテーブルと typeの作業領域を定義します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
お役に立てば幸いです。
タルハ