Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#20

AW: DBGrid1.Columns[0].Width:= .... / geht das auch automatisch?

  Alt 27. Nov 2021, 11:44
Sondern ich werde die Breiten weiterhin manuell setzen.
Das hatte ich auch gar nicht in Frage gestellt. Ich würde dann aber die Spaltenbreite auf DefaultWidth setzen, da diese das TField.DisplayWidth zur Berechnung heranzieht.
Delphi-Quellcode:
  for I := 0 to DBGrid1.Columns.Count - 1 do
    DBGrid1.Columns[I].Width := DBGrid1.Columns[I].DefaultWidth;
Ich halte nicht viel davon, die tatsächlichen Feldwerte der gesamten Tabelle auf ihre aktuelle Länge zu prüfen und davon das Maximum zu nehmen. Das könnte zu unterschiedlichem Aussehen je nach Datenlage führen.

Wenn der Feldinhalt dynamisch ist, dann bestimme einfach einen sinnvollen Wert für DisplayWidth des entsprechenden Feldes. Im Gegensatz zu der Spaltenbreite wird DisplayWidth als Anzahl Zeichen angegeben. Das macht die Sache deutlich einfacher.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat