首先定议: VAR BOOKMARK:TBOOKMARK; BEGIN {其它程序} BOOKMARK:=TABLE1.GETBOOKMARK//对当前记录做标签 ///其它程序 TABLE1.GOTOBOOKMARK(BOOKMARK);//重新定位指针到原来的位置 TABLE1.FREEBOOKMARK(BOOKMARK);//删除BOOKMARK标志 成功一定要给分哦
不行啊,用BOOKMARK无法将指针指到原来的位置
一个例子,希望能有所帮助 var SavePlace: TBook; PrevValue: Variant; begin with DatamoduleKy.TableRy do begin SavePlace := GetBook; DisableControls; try First; while not Eof do begin Next; end; finally GotoBook(SavePlace); FreeBook(SavePlace); EnableControls; end; end;end;
这个问题我也很关注,但是重新打开Query的话,在窗体上会有闪烁,请教各位大虾:怎样在无闪烁的情况下刷新DbGrid????
VAR BOOKMARK:TBOOKMARK;
BEGIN
{其它程序}
BOOKMARK:=TABLE1.GETBOOKMARK//对当前记录做标签
///其它程序
TABLE1.GOTOBOOKMARK(BOOKMARK);//重新定位指针到原来的位置
TABLE1.FREEBOOKMARK(BOOKMARK);//删除BOOKMARK标志
成功一定要给分哦
var
SavePlace: TBook;
PrevValue: Variant;
begin
with DatamoduleKy.TableRy do
begin
SavePlace := GetBook;
DisableControls;
try
First;
while not Eof do
begin
Next;
end;
finally
GotoBook(SavePlace);
FreeBook(SavePlace);
EnableControls;
end;
end;end;