procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := DBGridEh1.SelectedRows.Count - 1 downto 0 do
begin
DBGridEh1.DataSource.DataSet.Bookmark := DBGridEh1.SelectedRows[I];
DBGridEh1.SelectedRows.DeleteItem(I);
//必须先删除书签,再删除记录,否则全部删除时,会报错。
//如果没有删除书签的代码行,数据集和GRID里记录和行是删除了,但是SelectedRows里会残留一个无效书签,导致后面判断出错。
ADOTable1.DeleteRecords(arCurrent);
end;
end;