may 22, 2010

Enviado por en .NET, Programacion

Colorear una celda de un DataGridView en C#

Buenas.
Algunos días sin postear por las obligaciones diarias, pués vengo con esta entrada que fue parte del examen práctico de prueba de trabajo a la que fui el jueves 20, y que la voy a usar para un pequeño proyecto que hago para una de las materias de la universidad.

La cosa es así imaginen que tenemos una grilla y queremos pintar de un color la celda si pasa determinada acción, en este caso si el saldo de una cuenta es negativo.
Que haremos? Después de cargada la información de la base de datos recorreremos todo el datagridview buscando en la celda correspondiente si el número es negativo. Luego accedemos a la columna y a la celda correspondiente.

private void PintarGrilla()
{
    for (int i = 0; i < this.dataGridView1.Rows.Count; ++i)
    {
         if (long.Parse(this.dataGridView1.Rows[i].Cells[5].Value.ToString()) < 0)
               this.dataGridView1.Rows[i].Cells[5].Style.BackColor = Color.Red;
    }
}

y obtendremos algo como esto:

y que pasa si queremos pintar además de la celda, toda la fila?

private void paint_grill()
{
      for (int i = 0; i < this.dataGridView1.Rows.Count - 1; ++i)
      {
          if (long.Parse(this.dataGridView1.Rows[i].Cells[5].Value.ToString()) < 0)
             this.dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red;
      }
}

y veríamos algo así:

Espero que sea de utilidad.
Saludos.

    Dejar una respuesta

    Debes ser Alojarse para enviar un comentario.