【问题标题】:Delete and refresh a record in DBgrid where u maintain the same position删除并刷新 DBgrid 中您保持相同位置的记录
【发布时间】:2013-03-24 15:24:19
【问题描述】:

我有一个小型数据库,我正在使用 dbgo,我有一个显示我的记录的 DBgrid,我需要知道如何删除记录并刷新索引箭头保持在同一位置的数据库,或者至少转到下一个?但目前我的索引箭头每次刷新时都会从头开始!

【问题讨论】:

    标签: database delphi delphi-xe2 record dbgrid


    【解决方案1】:

    只需保留并重置 Recno

    var
    I:Integer;
    .......
    
    I := Ads.Recno;
    Ads.Delete;
    Ads.Recno := I;
    

    使用 DBNavigator 的示例实现可以是

    Procedure DeleteAndKeepRecno(Ads: TCustomAdoDataset);
    var
      rn: Integer;
    begin
      rn := Ads.RecNo;
      Ads.Delete;
      Ads.RecNo := rn;
    end;
    
    procedure TForm4.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    begin
      if Button = nbDelete then
      begin
        DeleteAndKeepRecno (TCustomAdoDataset(TDBNavigator(Sender).DataSource.DataSet));
        Abort;
      end;
    end;
    

    【讨论】:

    • an article 显示数据集刷新的类似情况。 [+1]
    • 我知道这很简单,我只是以为Delphi不会接受它,但它接受了!!!非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 2013-07-12
    • 2014-02-18
    • 1970-01-01
    相关资源
    最近更新 更多