表onSelect事件以递归方式调用

2020-09-04 18:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我有来自HANA视图...

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

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


大家好,

我有来自HANA视图的数据绑定到SAC Analytics Designer中的表。 当单击维度值时,我正在执行一些处理,以在为表引发的onSelect()事件中过滤所选维度值上的数据。

我注意到的是,当回调返回并刷新表时,再次引发onSelect()事件。 递归地发生这种情况,因为在表格渲染后,先前选中的单元格仍然突出显示。

没有清除选择功能,条件是我也可以使用该功能清除先前的选择。

任何人都遇到过这样的问题,并且有解决此问题的方法。 请提供您的想法。

致谢,
Vipul

付费偷看设置
发送
4条回答
Cikesha
1楼 · 2020-09-04 19:19.采纳回答

嗨Vipul,

我不确定我是否完全明白你的意思。 但是,如果您有2个全局变量g_currentselection和g_previousselection,并且您的逻辑仅在 g_currentselection <> g_previousselection 处于if()条件下才能工作。 它的最后一行分配了g_previousselection = g_currentselection,因此在下一次迭代中,它将带您进入else()条件,在这里您可以以某种方式破坏逻辑或不执行任何操作。 仅当再次在表中进行新选择时,才会触发if()逻辑。

我没有在SAC Designer中尝试过,但是在Lumira Designer中使用了记分卡。

致谢

Nikhil Joy

我是小鹏鹏啊
2楼-- · 2020-09-04 19:06

您好Vipul,

您是否尝试过使用全局变量来限制逻辑的递归调用? 我认为,如果在执行逻辑后再添加一个带有全局变量的条件并更改全局变量的值,则可以停止再次调用同一逻辑。 如果表中选择的值与先前选择的值不同,则可以将全局值设置回默认值,然后再次调用逻辑。

我还没有尝试过,但是请告诉我它是否有帮助。

关于

Nikhil Joy

nice_wp
3楼-- · 2020-09-04 19:23
< p>你好,尼克希尔,

谢谢您看一下这个问题。

我最初考虑了一下。 但是问题在于,每次用户单击单元格时,都会根据所选值应用过滤器,并将新数据加载到表中。 因此,所选单元格现在具有新数据,并且与以前选择的用户的数据不同。

这些事件一直引发,直到表变空,因为所有数据将被过滤。

因此,即使我放置了全局变量,我也没有办法区分事件是在用户单击时引发还是在重新加载后自动引发; 重置全局变量。

Regard的,
Vipul

zhangjiyang1323
4楼-- · 2020-09-04 19:11

您好,Nikhil,

这是一个好主意,我可以检查这些行,看看是否有效。

感谢您的输入。

关于,
Vipul

一周热门 更多>