Ich versuche, eine einfache DataGridView anzuzeigen, die mit einer DataTable verknüpft ist, und ich möchte schließlich meine erste Spalte in der DataTable die Zeilenheaderzelle für das DataGridView sein. An diesem Punkt werde ich mich damit begnügen, irgendeinen Wert in der Zeilenkopfzelle zu haben. Ich kann das DataGridView mit all meinen Zeilen und Spalten und mit Spaltenüberschriftenzellen, aber ohne Zeilenüberschriftzelle anzeigen. Ich überprüfe den Wert in der row.HeaderCell.Value, und die Daten, die ich dort hingelegt habe, sind da. Ich überprüfe row.HeaderCell.Displayed und es ist falsch, aber das ist nur lesbar, also kann ich es nicht wahr machen. Wie mache ich die Anzeige der Zeilenkopfzeile?DataGridView Anzeigenzeile Headerzelle
Hier ist ein einfaches Beispiel, was ich versucht habe, diese an die Arbeit zu machen:
DataTable table = new DataTable();
for (int i = 0; i<10; i++)
{
table.Columns.Add(new DataColumn("column-" + i));
}
for (int i = 0; i < 10; i++)
{
DataRow theRow = table.NewRow();
for (int j = 0; j < 10; j++)
theRow[j] = i + "-" + j;
table.Rows.Add(theRow);
}
dataGridView1.DataSource = table;
dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders;
int rowNumber = 1;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.IsNewRow) continue;
row.HeaderCell.Value = "Row " + rowNumber;
rowNumber = rowNumber + 1;
}
dataGridView1.AutoResizeRowHeadersWidth(
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);
Das schaltet die Header-Zelle in seiner Gesamtheit ein und aus, mein Problem war, dass der Wert, den ich in die Zelle legte, nicht im Display angezeigt wurde. Ich habe es mir unten ausgedacht. –