DataRow der Stringlänge anpassen
-
Hallo,
ich möchte eine DataRow in einem Datagrid der Stringlänge anpssen. Ich hab aber nur stirng.length und das liefert mir ja die Anzahl der Elemente in dem Stirng zurück. Gibts ne Möglichkeit die Pixelanzahl einer Stings rauszubekommen??
Danke Oli
-
Wie Du an die Breite der einzelnen Zelle rankommst weisst Du hoffentlich, ist ja auch eine Eigenschaft die zur Entwurfszeit einstellbar ist!
1. Du musst Dir über die Methode CreateGraphics ein Graphics-Objekt
herstellen lassen2. Dann benutzt Du von dem Grphics-Objekt die Methode MeasureString
Beispiele:
System.Drawing.SizeF sf = g.MeasureString("Hallo Welt!", new Font("Arial",16)); sf.Width; ... .Width = sf.Width; // dann geht sowas hier ... ist die Breite einer Spalte des DataRow ich meine das DataGrid
kürzer geht dann auch sowas
... .Width = g.MeasureString("Hallo Welt!", new Font("Arial",16)).Width; // ... ist wieder Breite der Zellen des DataRow ich meine das DataGrid
Was beleibt nur noch zu sagen, benutze die MeasureString-Methode
innerhalb einer Schleife um erstmal die Daten zu finden die die meiste Breite brauchen und stelle diese am DataGrid ein!
Im übrigen das Font-Objekt hast Du ja schon da deine Anwendung sofern es eine Windowsanwendung ist schon eine Instanz davon hat.
stattnew Font(...,...);
kans´nst Du also gleich
font
oder wie das Ding heisst an MeasurString-Methode übergeben.
mfg sclearscreen