Dazu muss aber auch die gesamte Datenmenge durchlaufen werden, was ggf. schon ein wenig dauern kann.
Ich überlege gerade. Im Falle von DBGrid liegt ja eine Datenmenge aus einer
DB zugrunde. Anstatt die evtl. große Datenmenge zu durchlaufen, wäre es nicht schneller eine Funktion zum zuweisen der Breite zu schreiben, die die maximalen Feldbreiten aus der
DB holt, d.h. die
DB die Arbeit machen lassen?
Z.B. TADOQuery q:
Delphi-Quellcode:
q.SQL.Text:= 'SELECT Max(Length(Feld1)) as F1, Max(Length(Feld2))as F2,... from MyTable';
q.Open;
for i:=0 to q.RecordCount-1 do
Grid.Columns[i].Width:=q.Fields[i].AsSingle * KonstanterFaktor;