PAI/PBO之后如何恢复滚动位置?

2020-09-06 05:11发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我的屏幕包含多个部分和视图。 在...

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

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


我的屏幕包含多个部分和视图。 在这些视图之一中,有一个子视图,其中包含带有复选框和热点的ALV列表。 当您选中某个复选框时,将出现一个新的部分/视图(由于热点)。 这导致重新加载整个页面。 但是因为页面已重新加载,所以屏幕跳了起来,用户必须向下滚动才能返回带有ALV列表的视图。 我尝试了SET CURSOR,但是由于这是带有ALV列表的视图,因此无法正常工作。 我猜它仅适用于输入字段。

在通过PAI和PBO后,是否有任何方法可以恢复scoll的位置?

付费偷看设置
发送
6条回答
Cikesha
1楼-- · 2020-09-06 05:22

在屏幕属性标签中,您可以检查并测试"保持滚动位置"复选框吗?

wang628962
2楼-- · 2020-09-06 05:37

请告诉我们您使用的是哪种ALV技术,以便获得准确的 答案(如果是ALV网格基本类->具有稳定参数的refresh_table_display方法等)

jovirus
3楼-- · 2020-09-06 05:24

为您的光标/焦点

  • 在您的PAI中使用 GET CURSOR和方法CL_GUI_ALV_GRID => GET_FOCUS(实际上是从CL_GUI_CONTROL继承的方法)的调用
  • 在PBO中使用SET CURSOR和/或方法CL_GUI_ALV_GRID(或CL_GUI_CONTROL)=> SET_FOCUS取决于调用 在先前返回的值上

对于您的ALV网格

  • 在刷新显示期间CL_GUI_ALV_GRID-> REFRESH_TABLE_DISPLAY使用STABLE选项和/或GET_SCROLL_INFO_VIA_ID/SET_SCROLL_INFO_VIA_ID
三十六小时_GS
4楼-- · 2020-09-06 05:38

现在,我看到了您的屏幕截图,我知道它可能更复杂,但是如果无法尝试交互,很难回答。 可以使用Raymond的建议找到一个"简单"的解决方案,否则可以更改布局(例如,ALV和垂直/向左/向右显示的动态节块)。

CJones
5楼-- · 2020-09-06 05:16

Sandra Rossi 谢谢您的答复,您说的没错,它带有refresh_table_display,但没有稳定的参数。 如果我使用稳定参数,它将在ALV中保留滚动位置,但不保留屏幕的滚动位置。 我附上了屏幕截图,以使外观更好。

小熊yu生菜
6楼-- · 2020-09-06 05:18
Quynh Doan Manh 您可以将您的评论转换为答案,以便我投票赞成吗? 谢谢!

一周热门 更多>