Подскажите, как сделать так, чтобы при обновлении данных скролл в DBGridEh "не прыгал".
Если делать так
Код:
DBGridEh.SaveBookmark;
DBGridEh.DataSource.DataSet.Close;
DBGridEh.DataSource.DataSet.Open;
DBGridEh.RestoreBookmark;
То положение скролла и курсора возвращаются как надо, но при обновлении видно "скачек" положения прокрутки
Если делать так:
Код:
DBGridEh.DisableControls;
DBGridEh.SaveBookmark;
DBGridEh.DataSource.DataSet.Close;
DBGridEh.DataSource.DataSet.Open;
DBGridEh.RestoreBookmark;
DBGridEh.EnableControls
то ничего не скачет, но если курсор находиться вне зоны видимости, то после обновления скролл перемещается в зону видимости курсора.
Покопался - нашел, обновление скролла происходит в процедуре EnableControls, которая является стандартной.
Подскажите - возможно ли обойти эту проблему - чтобы при обновлении и скролл и курсор оставались на том же месте и при этом визуально "не прыгали" ?