1

したがって、パラメーターのTOOLBARイベント内には、すべてのボタンを手動で変更するためにアクセスできるテーブルがあります。CL_GUI_ALV_GRIDE_OBJECTMT_TOOLBAR

ツールバーイベントでカスタムボタンのように単純に作成するよりも、ツールバーに標準ボタンを含める/除外するより良い方法はありますか?

4

3 に答える 3

5

REUSE_ALV_GRID_DISPLAYインクラスと同様CL_GUI_ALV_GRIDの方法もあります。

UI_FUNCTIONStype のテーブルと 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

于 2012-07-09T14:12:27.977 に答える
2

コードで使用する場合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

お役に立てば幸いです。

タルハ

于 2012-07-09T06:57:09.967 に答える