mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Keep scroll offset when refreshing data grid. Fixes issue #2003.
This commit is contained in:
@ -3680,6 +3680,7 @@ var
|
||||
KeyCols, ColWidths, WantedColumnOrgnames: TStringList;
|
||||
WantedColumns: TTableColumnList;
|
||||
c: TTableColumn;
|
||||
OldScrollOffset: TPoint;
|
||||
|
||||
procedure InitColumn(idx: Integer; TblCol: TTableColumn);
|
||||
var
|
||||
@ -3741,6 +3742,7 @@ begin
|
||||
|
||||
// Load last view settings
|
||||
HandleDataGridAttributes(RefreshingData);
|
||||
OldScrollOffset := DataGrid.OffsetXY;
|
||||
|
||||
DataGridDB := SelectedTable.Database;
|
||||
DataGridTable := SelectedTable.Name;
|
||||
@ -3849,10 +3851,6 @@ begin
|
||||
if not SynMemoFilter.Focused then
|
||||
vt.SetFocus;
|
||||
|
||||
if not RefreshingData then begin
|
||||
// Scroll to top left if switched to another table
|
||||
vt.OffsetXY := Point(0, 0);
|
||||
end;
|
||||
if vt.RootNodeCount > DataGridFocusedNodeIndex then begin
|
||||
SelectNode(vt, DataGridFocusedNodeIndex);
|
||||
for i:=0 to vt.Header.Columns.Count-1 do begin
|
||||
@ -3862,6 +3860,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if RefreshingData then
|
||||
vt.OffsetXY := OldScrollOffset;
|
||||
|
||||
ValidateControls(Sender);
|
||||
DisplayRowCountStats;
|
||||
|
Reference in New Issue
Block a user