Задача появилась, обновить только одну строку в DBGrid , но чтоб визуально позиция курсора не изменилась.
last_id:=DataSet.FieldByName('id')
DataSet.Close
DataSet.Open
DataSet.Locate('id',last_id,[]);
не подходит, так как делает найденную строку первой в DBGrid , даже если она была пятой до закрытия
Пробовал в датасете делать тип поля Lookup, чтоб изменения сразу отображались (при изменении id показывалось содержимое из подтаблицы), но не заработало