如何 refresh/Synch 基于具有动态范围的查询查看?

How to refresh/Synch View based on a Query with dynamic range?

我有一个简单的 ViewQuery ,我的自定义 Query 有一个 动态范围

在 class SysQueryRangeUtil 中,我插入了自定义 public 静态 方法并将其复制到自定义查询中。 这个范围,做工不错。但是我有一个问题,当范围条件改变时,如果我想看到新视图(带有新选择的记录)我必须在 AOT 我的视图中同步。

但是这个操作不能做一个简单的SystemUser。

有一种方法可以在 View 中使用动态范围而不是持续同步吗?

我的动态范围与 curUserId() 有关,当更改打开 Form/View 视图的用户时,必须更改显示的记录。如果我想看到差异,我必须每次都同步,但对我来说这不是一个可用的解决方案。

我的视图

谢谢大家!

不要在查询中使用范围,将此逻辑移至表单级别。

在表单的 classDeclaration 方法中声明类型为 QueryBuildRange 的变量。

覆盖表单数据源上的 init 方法:

public void init()
{
    ;

    super();

    queryRange = Table1_ds.query().addRange(MyView_ds.queryBuildDataSource(), AccountNum);
    queryRange.status(RangeStatus::Hidden);
}

覆盖表单数据源上的 executeQuery 方法:

public void executeQuery()
{
    ;

    queryRange.value(filterBycurUserId());

    super();
}