Tengo un problema interesante. Estoy tratando de usar una tabla de datos como fuente de datos para una vista de cuadrícula de datos. Quiero colorear algunas de las celdas de la tabla para indicar varias cosas, pero por alguna razón el color no se mostrará. Entonces, el siguiente código muestra una celda sin color.No se puede cambiar el color de la celda datagridview cuando se usa una fuente de datos
dataGridView1.DataSource = table;
dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Yellow;
I sólo se puede obtener un color para visualizar después de la carga de forma inicial (por ejemplo el establecimiento de un color de la celda en el evento OnClick). Sin embargo, si creo explícitamente las filas y columnas para la vista como en el siguiente código, la coloración funciona.
foreach (DataColumn col in table.Columns)
dataGridView1.Columns.Add(col.ColumnName, col.ColumnName);
for (int i = 0; i < table.Rows.Count; i++)
{
var row = table.Rows[i];
object[] values = new object[table.Columns.Count];
for (int x = 0; x < table.Columns.Count; x++)
values[x] = row[x].ToString();
dataGridView1.Rows.Add(values);
}
dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Yellow;
No deseo tener el código de esta manera. ¿Alguien sabe lo que está sucediendo aquí que me está impidiendo colorear las células?
No muestra dónde está tratando de colorear las celdas, supongo que está dentro del constructor de formularios, después de llamar a InitializeComponent(). Mi respuesta se basa en eso. –