Hallo stromer,
für die Aktion "Markierung umkehren" verwende ich in meinen Programmen folgenden Code:
Delphi-Quellcode:
procedure TDataForm.InvertSelection;
var
bm: TBookmark;
ds: TDataSet;
begin
ds := DBGrid.DataSource.DataSet;
bm := ds.GetBookmark;
ds.DisableControls;
ds.First;
while not ds.Eof do begin
with DBGrid.SelectedRows do
CurrentRowSelected := not CurrentRowSelected;
ds.Next;
end;
ds.GotoBookmark(bm);
ds.EnableControls;
end;
Eine Vorbedingung ist natürlich, dass das DBGrid mit den Options [dgRowSelect, dgMultiSelect] ausgestattet sein muss.
Grüße vom marabu