Nja, wenn in den verfügbaren Events das Umsetzen nicht möglich ist, weil die Komponente anschießend das nochmal überschreibt, dann bleibt nur verzögern übrig.
Delphi-Quellcode:
procedure TForm1MyDBGrid.MyDBGridIrgendwasEvent(Sender: TObject);
begin
...
TThread.ForceQueue(nil, procedure
begin
if MyDBGrid.Focused then // nichts machen, falls der Fokus inzwischen sonstwo ist
MyDBGrid.SelectedField := ...;
end);
end;
Hoffe es hilft hierbei.