0

dbgoを使用している小さなデータベースがあり、レコードを表示するDBgridがあります。レコードを削除して、インデックス矢印が同じ位置にあるデータベースを更新する方法、または少なくとも次の位置に移動する方法を知る必要がありますか?しかし、現在、私のインデックス矢印は、更新するたびに最初から開始するようにジャンプします!

4

1 に答える 1

2

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;
于 2013-03-24T15:27:20.913 に答える