Validar datos de una celda de un DataGridView

WebProgramacion > Recursos sobre informática y tecnología > Programacion > C# > Validar datos de una celda de un DataGridView
C#
Autor: Dámaso Velázquez Álvarez
Validar celda de un DataGridView
Validar celda de un DataGridView

Supongamos que tenemos un objeto de la clase DataGridView y necesitamos validar los datos que introduce el usuario en una celda determinada.

Vamos a suponer implementada una función llamada EsDominio que recibe el contenido de la celda (debe ser un dominio de Internet) y nos devuelve true o false dependiendo de si el dominio está o no bien escrito.

Cuando validamos el contenido de una celda, debemos tener en cuenta que si el usuario se posiciona sobre la fila del datagridview para añadir texto y sale de ella sin añadir nada, no se producirá el alta y no se debe validar nada ya que el contenido quedará vacío. Para eso debemos comprobar que la fila que estamos validando no sea dicha fila. Para ello usaremos la propiedad IsNewRow de la fila.

Veamos el código:

private void grdDominios_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    if (!grdDominios.Rows[e.RowIndex].IsNewRow)
    {
        if (!EsDominio(e.FormattedValue.ToString()))
        {
            MessageBox.Show("El valor introducido no está bien escrito", "Dominio",
                MessageBoxButtons.OK, MessageBoxIcon.Error);
            e.Cancel = true;
        }
    }
}