Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#2

AW: Spaltenbreite DBGrid automatisch anpassen

  Alt 14. Feb 2011, 08:00
Hallo,

eine "dumme" Idee für die Schnelle:

Ermittle die maximale Länge des Spalteninhaltes.

Nimm den längsten Text und weise diesen der Caption eines Labels zu. Das Label muss AutoSize = True haben. Es bekommt damit die entsprechende Breite des zugewiesenen Textes.
Nun nimmst Du den Wert der Eigenschaft Width des Labels rechnest noch 8 (oder so) für ein bisserl Rand dazu und weist diesen Wert als Breite der (DB)Gridspalte zu.

Und damit ist das "AutoFit" vorhanden.

Das Label kannst Du entweder unsichtbar irgendwo auf das Formular legen oder zur Laufzeit erstellen.
Eine entsprechende Routine dem TitleClick der Grids zuweisen und Du hast fast den Effekt von Excel. Ob man bei einem Grid auch eine Ereignisroutine für einen Doppelklick auf die Trennlinie zwischen zwei Spaltenköpfen legen kann, weiß ich nicht.
  Mit Zitat antworten Zitat