禁用/启用工具栏上的按钮

2020-08-31 14:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在使用新的方法来制作...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在使用新的方法来制作ALV网格-我在工具栏上有一个自定义按钮,名为" DIRECT",但不知道如何禁用它,尝试使用CL_SALV_FUNCTIONS-> remove_function方法,但它会继续返回 例外,说明我使用了错误的呼叫

数据:gt_table类型对cl_salv_table的引用。
   数据:l_t100类型t100,
         l_save(10)。
   数据:gr_layout类型为cl_salv_layout的引用。
   数据:密钥类型salv_s_layout_key。
 
   尝试。
       cl_salv_table =>工厂(
         输入
           r_salv_table = gt_table
         改变
           t_table = it_boc_document)。
     捕捉cx_salv_msg。
   努力。
 
   gr_layout = gt_table-> get_layout()。
   键报告= sy-repid。
   gr_layout-> set_key(key)。
 
   gr_layout-> set_save_restriction(if_salv_c_layout => restrict_none)。
 
   "设置pf状态
   尝试。
       gt_table-> set_screen_status(
         pfstatus ='ALV_STATUS'
         报告= sy-repid
         set_functions = gt_table-> c_functions_all)。
     捕捉cx_salv_msg。
   努力。
 
   gt_table-> display()。

任何帮助将不胜感激。

非常感谢

Raj

4条回答
四川大学会员
2020-08-31 15:19

嗨,拉吉,

ALV网格控件允许您添加自己的功能,这些功能由ALV工具栏上的按钮按下触发。 为此,我们主要利用两个ALV Grid事件。 我们使用事件TOOLBAR添加按钮,使用事件USER_COMMAND实现新功能。

在处理TOOLBAR事件的方法中,我们通过填充结构并将其附加到对象的表属性MT_TOOLBAR来定义新按钮,该对象可以通过事件的参数E_OBJECT引用到该对象。

您需要的结构字段将被禁用。

请参考以下代码:-

清除ls_toolbar。
 将" EXCH"移动到ls_toolbar-function。
 将2移动到ls_toolbar-butn_type。
 将icon_calculation移动到ls_toolbar-icon。
 将"以其他货币付款"(202)移动到ls_toolbar-quickinfo。
 移动到ls_toolbar文本。
 移动到ls_toolbar已禁用。
 附加ls_toolbar到i_object-> mt_toolbar。

致谢

Abhii

一周热门 更多>