WindowsForms, DataGridView und Spaltenbreite
-
Hallo.
Habe eine Windows-Forms-Anwendung geschrieben und verwende eine DataGridView mit einer DataTable als Datenquelle um ein paar Informationen tabellarisch darzustellen.Ich möchte, dass sich meine Hauptfensterbreite dynamisch an die Breite der darin enthaltenen Tabelle anpasst.
Dazu frage ich die Breiten aller Spalten der Tabelle ab und setzte die Summe aus diesen Breiten als neue Fensterbreite fest.
Nur leider liefert mir das Attribut für Spaltenbreite (DataGridViewColumn.Width) immer den Dafaultwert 100, obwohl die Spalten offensichtlich andere Breiten haben. Hier der Code:
private void BreiteAnSpaltenAnpassen(MappingForm mf) { DataGridView dgv = mf.MappingFormDataGridView; int wdth = dgv.RowHeadersWidth + (int)(dgv.Columns.Count * 2); foreach (DataGridViewColumn d in dgv.Columns) { wdth += d.Width; } dgv.Width = wdth; //mf.Width = dgv.Width; }
Wisst ihr was ich falsch mache ?
Danke.