Estoy tratando de mostrar un DataGridView simple vinculado a un DataTable y quiero, en última instancia, que mi primera columna en el DataTable sea la celda del encabezado de fila para el DataGridView. En este punto, me conformaré con tener cualquier valor en la celda del encabezado de la fila. Puedo mostrar DataGridView con todas mis filas y columnas, y con las celdas de encabezado de columna, pero sin celda de encabezado de fila. Verifico el valor en la fila.HeaderCell.Value, y los datos que coloco allí están ahí. Compruebo row.HeaderCell.Displayed y es falso, pero esto es de solo lectura, por lo que no puedo hacerlo cierto. ¿Cómo hago que se muestre la celda del encabezado de fila?DataGridView muestra la celda del encabezado de fila
Aquí hay una simple muestra de lo que he tratado de conseguir que esto funcione:
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);
Eso enciende y apaga la celda del encabezado en su totalidad, mi problema era que el valor que puse en la celda no aparecía en la pantalla. Lo descubrí a continuación. –