Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Prism Im TStringGrid den letzten Datensatz markieren (https://www.delphipraxis.net/85065-im-tstringgrid-den-letzten-datensatz-markieren.html)

LOMBI 25. Jan 2007 14:01


Im TStringGrid den letzten Datensatz markieren
 
Hallo,

im onCreate meiner Form lasse ich mir stets den letzten Datensatz unten im TStringGrid anzeigen:

Delphi-Quellcode:
...
GridAdr.TopRow := GridAdr.RowCount - GridAdr.VisibleRowCount;
Gleichzeitig soll dieser Datensatz markiert sein.

Delphi-Quellcode:
...
 GridAdr.Selection := TGridRect(Rect(GridAdr.FixedCols,
                                        GridAdr.Row,
                                        GridAdr.ColCount-1,
                                        GridAdr.Row));

Problem:

Bei Aufruf der Form bleibt der Datensatz in der ersten Zeile oben markiert.
Wer kann mir bitte bei der Lösung helfen?

Gruß
Lombi

marabu 25. Jan 2007 17:27

Re: Im TStringGrid den letzten Datensatz markieren
 
Hallo Lombi,

du musst unterschiedlich vorgehen, je nachdem ob dein Grid die Option goEditing hat oder nicht:

Delphi-Quellcode:
// ...
begin
  with StringGrid do
  begin
    if goRowSelect in Options
      then Row := Pred(RowCount)
      else Selection := TGridRect(Rect(FixedCols, Pred(RowCount), Pred(ColCount), Pred(RowCount)));
    if VisibleRowCount < (RowCount - FixedRows)
      then TopRow := Succ(RowCount - FixedRows - VisibleRowCount)
      else TopRow := FixedRows;
  end;
  // ...
end;
Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz