0
我需要关于以下问题的帮助。我有一个dbgrid,底层的查询被过滤。我想应用一个新的过滤器,但保持dbgrid中的相同行号。这里是我的代码:使用已过滤查询的书签
with qrProperties do
begin
...
MyPoint:=GetBookmark;
Filter:='N<>'+IntToStr(ResultPropertyN);
Filtered:=True;
GotoBookmark(MyPoint);
end;
当得到执行,一个EDBEngineError提高了消息“找不到记录”。我的解释是书签功能没有考虑到过滤器和程序GotoBookmark搜索dbgrid中不存在的记录(由于应用了过滤器)。有没有办法使用书签与过滤器?
这里有一些细节。在我的应用程序中,当我双击dbgrid中的一行时,它会消失(由于应用了过滤器),但作为过滤的结果,光标移动到第一行(如果我不使用书签)。我希望它保持与删除后立即显示的记录相同的行号。
如果GotoBookmark无法找到记录,您会期望什么样的行为,因为它是一个不是函数的过程? – bummi 2013-05-07 08:24:28