去除 DBGridEh SelectedRows里无效的书签

时间:2020-12-17 06:04:48
数据集处于过滤状态,然后选中几个记录,再修改了这些记录中的某个字段(和过滤条件有关),导致那几个记录不符合过滤条件,不显示了。但是
SelectedRows里 还保存着。如果不删除SelectedRows里这几个书签,后续的操作可能会报错。
  for I := DBGridEhTrade.SelectedRows.Count -  downto  do
begin
try
DBGridEhTrade.DataSource.DataSet.Bookmark :=
DBGridEhTrade.SelectedRows[I];
except
on E: EDatabaseError do
// Log(e.ClassName); //EDatabaseError
//ADOTbTrade: Record not found
DBGridEhTrade.SelectedRows.DeleteItem(I);
end; end;