-1

我认为每个列表页面都有自己的默认数据过滤器。

那么如果我想根据该过滤器对数据求和,我怎么知道用户当前在页面上过滤了什么?

这不是 CurrPage.SetSelectionFilter 对吗?:(

4

1 回答 1

0

每个页面对象都有一个名为 Rec 的隐式记录变量。用户在页面上看到的记录集来自该记录变量,考虑到该变量可能具有的任何过滤器、排序顺序等。因为它对屏幕渲染有如此直接的影响,所以我认为最好的做法是尽可能不理会 Rec,让任何添加的功能在另一个记录变量上工作。那么我们如何将过滤器等从 Rec 转移到一个新的记录变量(与 Rec 具有相同的子类型)?

Rec.GETFILTERS 似乎是一个不错的候选者,因为它返回在 Rec 上设置的当前过滤器。但是,请记住 GETFILTERS 尊重当前的过滤器组:如果没有进一步的操作,它只会返回设置在过滤器组级别 0 的过滤器。

一种更有效的方法是改用 COPYFILTERS。它允许您将所有过滤(所有过滤组级别;包括记录标记,如果我弄错了)从一条记录(ic Rec)复制到另一条记录(您的自定义记录变量)。之后,您可以对自己的记录变量中的相关值求和。

于 2013-08-29T08:59:24.587 回答