我认为每个列表页面都有自己的默认数据过滤器。
那么,如果我想根据该过滤器对数据求和,我怎么知道用户当前在页面上过滤了什么?
这不是CurrPage.SetSelectionFilter对吗? :(
答案 0 :(得分:0)
每个页面对象都有一个名为Rec的隐式记录变量。用户在页面上看到的记录集来自该记录变量,尊重变量可能具有的任何过滤器,排序顺序等。因为它对屏幕渲染有如此直接的影响,我认为最好尽量让Rec单独使用,让任何附加功能都适用于另一个记录变量。那么我们如何将过滤器等从Rec转移到新的记录变量(与Rec相同的子类型)?
Rec.GETFILTERS似乎是一个很好的候选者,因为它返回Rec上设置的当前过滤器。但是,请记住,GETFILTERS尊重当前的过滤器组:如果不采取进一步措施,它将只返回在过滤器组级别0设置的过滤器。
更有效的方法是使用COPYFILTERS。它允许您将所有过滤(所有过滤器组级别;包括记录标记,如果我弄错了)从一个记录(i.c.Rec)复制到另一个记录(您的自定义记录变量)。之后,您可以将自己的记录变量中的相关值相加。