Validar celdas vacías de un DataGridView c#

publicado por: Anonymous

Estoy validando que no existan celdas vacías en el DataGridVieW antes de registrar.El código me funciona bien, pero me gustaría trabajarlo con un bool( true false ). de esa manera cuando pase la validación me permita registrar los datos. Intente hacerlo con el bool pero me sale siempre celdas vacías.

for (int i = 0; i < dgvListas.RowCount - 1; i++)
{
    for (int j = 0; j < dgvListas.ColumnCount; j++)
    {
        if (dgvListas.Rows[i].Cells[j].Value == null)
        {                 
            dgvListas.Rows[i].Cells[j].Style.BackColor = Color.OrangeRed;
        }
        else
        {                      
            dgvListas.Rows[i].Cells[j].Style.BackColor = Color.White;
        }
    }

}

solución

Para buscar celdas vacias sólo hace falta modificar un poco tu código:

private bool ValidateGrid(DataGridVieW dgvListas)
{
bool IsEmptyCell = false;
for (int i = 0; i < dgvListas.RowCount - 1; i++)
{
    for (int j = 0; j < dgvListas.ColumnCount; j++)
    {
         if (dgvListas.Rows[i].Cells[j].Value == null)
         {
              IsEmptyCell = true;
         }
     }
}
return IsEmptyCell;
}

Algunos cambios que se podrían hacer para mejorar:

  • Para mirar si un Value esta vacio, puedes usar la funcion string.IsNullOrEmpty() en vez de mirar sólo si es null
  • Puedes salir del bucle una vez que hayas encontrado la primera celda vacia y te ahorras seguir buscando.

Con los cambio te quedaría así:

private bool ValidateGrid(DataGridVieW dgvListas)
{
    for (int i = 0; i < dgvListas.RowCount - 1; i++)
    {
        for (int j = 0; j < dgvListas.ColumnCount; j++)
        {
            if (string.IsNullOrEmpty(dgvListas.Rows[i].Cells[j].Value))
            {
                return true;
            }
        }
   }
   return false;
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *