如何 refresh/Synch 基于具有动态范围的查询查看?
How to refresh/Synch View based on a Query with dynamic range?
我有一个简单的 View 和 Query ,我的自定义 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();
}
我有一个简单的 View 和 Query ,我的自定义 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();
}