[Firemonkey] Stringgrid AutoSize
Ich nutze folgenden Code um die Spaltenbreite meines Stringgrids anzupassen:
Delphi-Quellcode:
Dies Funktioniert auch wunderbar, wenn in diesem Grid denn mehr als ein Eintrag vorhanden ist. Ist dort nur einer Vorhanden, wird stumpf die Standardbreite des Grids verwendet.
procedure TForm.GRDPaint(Sender: TObject; Canvas: TCanvas;
const [Ref] ARect: TRectF); var i: integer; begin GRD.BeginUpdate; for i := 0 to GRD.ColumnCount - 1 do AutoSizeCol(GRD, i); GRD.EndUpdate; end; procedure TForm.AutoSizeCol(Grid: TStringGrid; Column: integer); var i, W, WMax: integer; begin WMax := 0; for i := 1 to (Grid.RowCount - 1) do begin W := round(Grid.Canvas.TextWidth(Grid.Cells[Column, i])); if W > WMax then WMax := W; end; if WMax*2 > Grid.Columns[Column].Width then begin Grid.Columns[Column].Width := WMax*2; end; end; Weiss einer woran das liegt, oder besser noch einen Lösungsansatz? Oder hat einer eine Bessere Idee wie man das AutoSize des Stringgrids ausführen kann? |
AW: [Firemonkey] Stringgrid AutoSize
Fang doch mal mit der Row 0 an :stupid:
|
AW: [Firemonkey] Stringgrid AutoSize
Warum fängst du in deiner AutoSizeCol() Procedure in der Schleife mit 1 an zu zählen? Ist das nur ein Header oder hast du dich da vertan? Oder übersehe ich was? Kenne mich mit FMX nicht so aus.
Roter Kasten :?::?::?: |
AW: [Firemonkey] Stringgrid AutoSize
DANKE DANKE DANKE, dass ihr mir mal die Augen geöffnet habt... manchmal ist man glaube ich einfach blind... das wars, vielen Dank!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 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