Hallo zusammen,
ich habe auf meiner Form 2 Datagridviews. Diese gehören inhaltich zusammen, das heißt: Das eine Datagridview enthält die Hauptdaten und das 2. Datagridview soll ein Footer darstellen.
Nun folgendes Problem:
Mit der Methode "RefreshColumns()" versuche ich, beide Columns der DataGridView dem Inhalt beider Datagridviews anzupassen, damit beide die gleiche Breite der Columns haben. Ist das verständlich? Hier meine Logik, die leider nicht funktioniert:
private void RefreshColumns()
{
for (int i = 0; i < dataGridViewMain.Columns.Count; i++)
{
dataGridViewMain.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dataGridViewFooter.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
int biggestWidt = dataGridViewMain.Columns[i].Width;
if (dataGridViewFooter.Columns[i].Width > biggestWidt)
biggestWidt = dataGridViewFooter.Columns[i].Width;
dataGridViewMain.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
dataGridViewMain.Columns[i].Width = biggestWidt;
dataGridViewFooter.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
dataGridViewFooter.Columns[i].Width = biggestWidt;
}
}
Es geht jedes Column der beiden Datagridviews durch, vergleicht welches größer ist, und passt das kleinere Column an das größere an.
Warum funktionert das nicht?
Danke für eure Hilfe!
Gruß Dennis
Hallo nochmal,
ich habe herausgefunden, dass
Columns[i].Width
die feste Größe enthält, nicht die durch
DataGridViewAutoSizeColumnMode.AllCells
entstandene Größe.
Wisst ihr, wie an die dynamische Größe herankomme?
Gruß Dennis