From 885ea4ecc47161e31bfa9d952e480c1f58ad6cb7 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Sat, 13 Mar 2010 07:57:36 +0000 Subject: [PATCH] Load all rows when user clicks the "Go to last row" button, so it is really the last row, not the 1000th one. Fixes issue #1750. --- source/main.pas | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/main.pas b/source/main.pas index 63ba00c5..0610e74d 100644 --- a/source/main.pas +++ b/source/main.pas @@ -3231,12 +3231,12 @@ procedure TMainForm.actDataLastExecute(Sender: TObject); var Node: PVirtualNode; begin + // Be sure to have all rows + if DatagridWantedRowCount < prefGridRowcountMax then + actDataShowAll.Execute; Node := DataGrid.GetLast; - if Assigned(Node) then begin - DataGrid.ClearSelection; - DataGrid.FocusedNode := Node; - DataGrid.Selected[Node] := True; - end; + if Assigned(Node) then + SelectNode(DataGrid, Node); end; procedure TMainForm.actDataPostChangesExecute(Sender: TObject); @@ -3369,7 +3369,7 @@ begin Inc(DatagridWantedRowCount, prefGridRowcountStep); DataGridWantedRowCount := Min(DataGridWantedRowCount, prefGridRowcountMax); DataGrid.Tag := VTREE_NOTLOADED; - DataGrid.Invalidate; + DataGrid.Repaint; end; @@ -3378,7 +3378,7 @@ begin // Remove LIMIT clause DatagridWantedRowCount := prefGridRowcountMax; DataGrid.Tag := VTREE_NOTLOADED; - DataGrid.Invalidate; + DataGrid.Repaint; end;