删除dbgrid中的某条记录以后,用requery刷新,怎样使光标停留在已删除记录的上一条获下一条上?

解决方案 »

  1.   

    1.用BookMark:删前先使一个BookMark定位其前或其后一条记录上,Requery后再GotoBookMark;
    2.用Locate:删前先取其前或其后一Key值,Requery后再Locate定位过去。
      

  2.   

    也许有点帮助
    procedure TForm1.Button2Click(Sender: TObject);
    var b:TBook;
    begin
        with dbgrid1.DataSource.DataSet do
        begin
        b:=GetBook;
        next;
        gotobook(b);
        end;
    end;
      

  3.   

    就是这样。
    如果要避免指针移动时影响屏幕显示,还可以用dataset.disablecontrols和enablecontrols
      

  4.   

    判断一下再移动指针:if not EOF then NEXT;