Contamos con tu ayuda para extender nuestros ensayos acerca de las ciencias de la computación.
Solución:
Debe recorrer las filas en la vista de cuadrícula de datos y luego comparar los valores de las columnas 7 y 10 en cada fila.
Prueba esto:
foreach (DataGridViewRow row in vendorsDataGridView.Rows)
if (Convert.ToInt32(row.Cells[7].Value) < Convert.ToInt32(row.Cells[10].Value))
row.DefaultCellStyle.BackColor = Color.Red;
Estaba investigando este problema (así que sé que esta pregunta se publicó hace casi 3 años, pero tal vez ayude a alguien...) pero parece que una mejor opción es colocar el código dentro del RowPrePaint
evento para que no tenga que recorrer cada fila, solo aquellas que se pintan (por lo que funcionará mucho mejor en una gran cantidad de datos:
Adjuntar al evento
this.dataGridView1.RowPrePaint
+= new System.Windows.Forms.DataGridViewRowPrePaintEventHandler(
this.dataGridView1_RowPrePaint);
El código de evento
private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
if (Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[7].Text) < Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[10].Text))
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Beige;
estas buscando el CellFormatting
evento.
Aquí hay un ejemplo.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)