From eae5df8698bf87d57efeeb47d533b869360f156d Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Fri, 13 Feb 2009 20:57:26 +0000 Subject: [PATCH] Keep grid x + y scroll offset after refresh --- source/main.pas | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/main.pas b/source/main.pas index 561d42b5..bef2cc1b 100644 --- a/source/main.pas +++ b/source/main.pas @@ -3453,6 +3453,7 @@ var ColType : String; ColExists, ShowIt : Boolean; Count, MatchingRows : Int64; + OldOffsetXY : TPoint; procedure InitColumn(name: WideString; ColType: String; Visible: Boolean); var @@ -3592,6 +3593,7 @@ begin rx := TRegExpr.Create; ShowStatus('Freeing data...'); DataGrid.BeginUpdate; + OldOffsetXY := DataGrid.OffsetXY; debug('mem: clearing browse data.'); SetLength(FDataGridResult.Columns, 0); SetLength(FDataGridResult.Rows, 0); @@ -3718,6 +3720,8 @@ begin DataGrid.EndUpdate; FreeAndNil(sl_query); AutoCalcColWidths(DataGrid, PrevTableColWidths); + if DataGridTable = SelectedTable then + DataGrid.OffsetXY := OldOffsetXY; viewingdata := false; EnumerateRecentFilters; Screen.Cursor := crDefault;