去除 DBGridEh SelectedRows里无效的书签

数据集处于过滤状态,然后选中几个记录,再修改了这些记录中的某个字段(和过滤条件有关),导致那几个记录不符合过滤条件,不显示了。但是
SelectedRows里 还保存着。如果不删除SelectedRows里这几个书签,后续的操作可能会报错。
  for I := DBGridEhTrade.SelectedRows.Count - 1 downto 0 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;

你可能感兴趣的:(select)