2020-08-21 13:22发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好,
是否可以将功能代码(在本例中为Ctrl + F和Ctrl + G,以进行下一步搜索/查找)从全局状态栏传递到对接容器中的cl_salv_table? 我无法在cl_salv_table(set_screen_status)中将状态栏注册为工具栏。
如果不是,是否有人知道从ABAP端触发cl_salv_table的"查找"和"查找下一个" fcode的方法? 就像 set_fcode 方法一样。
谢谢。
Karsten
你好桑德拉,
我不能使用标准工具栏,因为容器中可能还有其他控件(在本例中为cl_salv_table,但可能是cl_gui_column_tree)。 我有一个层次结构简单树,可在左侧的停靠容器中进行导航,而主网格位于屏幕0100的cl_gui_container => default_screen中。用户可以在导航树或主网格中进行搜索,方法是单击"查找/查找下一个" 控件工具栏中的图标,但缺少全局快捷键Ctrl + F和Ctrl + G
我不想将所有内容重新设计为CL_GUI_ALV_GRID。
cl_gui_cfw => set_new_ok_code()在这种情况下将无济于事。 我只想触发cl_salv_table的查找和查找下一个功能。
嗨,桑德拉,
很抱歉,您的评论错误。 我试图参考您的帖子进行回答,但没有成功。 以后我会做得更好。
我知道Naimeshs博客和他的"肮脏SALV骇客",但希望找到一个"更干净"的版本。
尽管如此,感谢您的帮助。 也许我会尝试一下。
关于Karsten,
一条小消息告诉您我最后提到的解决方案对我有效(使用SET_FUNCTION_CODE +肮脏的技巧来获取ALV网格控件的实例)
NB:正确的调用是:
DATA(fcode)= CONV syucomm('%SC')。 alvgrid-> SET_FUNCTION_CODE(更改c_ucomm = fcode)。
有效。 我正在使用本地帮助程序类来获取CL_GUI_ALV_GRID并调用该函数:
跨度 { 字体家族:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S52 { 颜色:#0000FF; } .L0S55 { 颜色:#800080; } lcl_salv_hack类的定义是从cl_salv_model_list继承的。 公共部分。 方法构造函数 输入 ir_model类型参考cl_salv_model。 方法set_function_code 输入 iv_fcode TYPE ANY。 专用部分。 数据salv_model类型参考cl_salv_model。 ENDCLASS。 跨度 { 字体家族:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S33 { 颜色:#4DA619; } .L0S52 { 颜色:#0000FF; } .L0S55 { 颜色:#800080; } .L0S70 { 颜色:#808080; } 类别lcl_salv_hack实施。 METHOD构造函数。 super-> constructor()。 我-> salv_model = ir_model。 终结法。 方法set_function_code。 数据lr_adapter类型参考cl_salv_grid_adapter。 数据lr_grid类型参考cl_gui_alv_grid。 数据lv_ucomm TYPE syucomm。 案例iv_fcode。 当"查找"时。 lv_ucomm ='%SC'。 当" FIND_NEXT"时。 lv_ucomm ='%SC +'。 当别人。 返回。 结束。 lr_adapter?= me-> salv_model-> r_controller-> r_adapter。 lr_grid = lr_adapter-> get_grid()。 lr_grid-> set_function_code(更改c_ucomm = lv_ucomm)。 终结法。 ENDCLASS。
请使用COMMENT按钮输入评论,问题,添加详细信息等。ANSWER仅是提出解决方案,请在答案区域的右侧删除SAP文本。
最多设置5个标签!
你好桑德拉,
我不能使用标准工具栏,因为容器中可能还有其他控件(在本例中为cl_salv_table,但可能是cl_gui_column_tree)。 我有一个层次结构简单树,可在左侧的停靠容器中进行导航,而主网格位于屏幕0100的cl_gui_container => default_screen中。用户可以在导航树或主网格中进行搜索,方法是单击"查找/查找下一个" 控件工具栏中的图标,但缺少全局快捷键Ctrl + F和Ctrl + G
我不想将所有内容重新设计为CL_GUI_ALV_GRID。
cl_gui_cfw => set_new_ok_code()在这种情况下将无济于事。 我只想触发cl_salv_table的查找和查找下一个功能。
嗨,桑德拉,
很抱歉,您的评论错误。 我试图参考您的帖子进行回答,但没有成功。 以后我会做得更好。
我知道Naimeshs博客和他的"肮脏SALV骇客",但希望找到一个"更干净"的版本。
尽管如此,感谢您的帮助。 也许我会尝试一下。
关于Karsten,
一条小消息告诉您我最后提到的解决方案对我有效(使用SET_FUNCTION_CODE +肮脏的技巧来获取ALV网格控件的实例)
NB:正确的调用是:
有效。 我正在使用本地帮助程序类来获取CL_GUI_ALV_GRID并调用该函数:
请使用COMMENT按钮输入评论,问题,添加详细信息等。ANSWER仅是提出解决方案,请在答案区域的右侧删除SAP文本。
一周热门 更多>