In meiner Query Definition habe ich in der Feld-Definition die Eigenschaften Visible und Width gesetzt. Jedes mal beim öffnen der Query wird das auch so gemacht.
Nun ändere ich die Spaltenbreite zur Laufzeit und lasse die Query neu öffen, dann ist die Spaltenbreite wieder futsch.
Also habe ich im OnColumnSized Event Event diesen Code eingebaut:
Code: Alles auswählen
procedure TfrmMain.grdColumnSized(Sender: TObject);
Var i: Integer;
col: TColumn;
begin
If Sender Is TDBGrid Then
Begin
For i := 0 To TDBGrid(Sender).Columns.Count - 1 Do
Begin
col := TDBGrid(Sender).Columns.Items[i];
If col.Visible Then
col.Field.DisplayWidth := col.Width;
end;
end;
end;
Wie kann ich die Pixel in die durchschnittliche Anzahl der Zeichen umrechnen?
Vielen Dank im Voraus.
Gruß Markus