Hy,
ich hatte immer das Problem, dass nach dem refreshen der
Query die selektierte Zeile im Grid
nicht mehr an der selben Position war.
Die Lösung dafür sollte eigentlich auch auf dein Problem übertragbar sein
Delphi-Quellcode:
var
rowDelta: integer;
row: integer;
recNo: integer;
begin
rowDelta := -1 + MyDBGrid.Row;
row := MyDBGrid.DataSource.DataSet.RecNo;
MySFDBGrid.DataSource.DataSet.DisableControls;
try
MyZQuery.Refresh;
with MyDBGrid.DataSource.DataSet do
begin
RecNo := row;
MoveBy(-rowDelta) ;
MoveBy(rowDelta) ;
end;
finally
MyDBGrid.DataSource.DataSet.EnableControls;
end;
end;