gpt4 book ai didi

axapta - 在 ListPage AX 2012 上禁用 F5 键

转载 作者:行者123 更新时间:2023-12-04 02:47:14 25 4
gpt4 key购买 nike

我想在特定列表页上禁用 F5 刷新,我禁用了刷新操作键,但 F5 仍然有效。我无法覆盖 SysSetupFormRun 上的 Task 方法,因为它是一个列表页。有什么办法吗?

我想这样做的原因是因为在拥有多个数据源时会出现一些刷新问题,我想为客户禁用它,直到 Microsoft 提供解决方案(问题已记录)。

编辑:作为修复,我截获了 SysSetupFormRun 类上的任务方法,但此方法仅在您在列表页中选择了一条记录时触发。当您第一次打开列表页并立即按 F5 时,它会刷新并且不会进入任务方法。

最佳答案

我知道您提到您没有成功覆盖 SysSetupFormRuntask,但下面的代码在我们的测试系统中对我有效。

我将此代码插入到 SysSetupFormRun 类的方法 task 中以禁用 SalesTableListPage 的 F5:

public int task(int _p1)
{
#task
FormDataSource formDataSource;

int ret;

if (_p1 == #taskFilter)
{
formDataSource = this.objectSet();
if (formDataSource &&
formDataSource.queryRun() &&
formDataSource.queryRun().args() &&
!formDataSource.queryRun().args().caller())
{
formDataSource.queryRun().args().caller(this);
}
}

// -- Here is the interesting stuff
if ((_p1 == #taskF5 || _p1 == #taskRefresh) &&
(this.name() == formStr(SalesTableListPage)))
{
return ret;
}
return super(_p1);
}

如果方法与您已经尝试过的方法相同,那么您可以忽略此答案 - 否则请随意尝试 ;)

关于axapta - 在 ListPage AX 2012 上禁用 F5 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18618811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com