Saltar al contenido

¿Cómo cambiar el color de la fila en datagridview?

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *