Datagridview validación celdas

12/09/2006 - 12:39 por Nhoa78 | Informe spam
Hola
Quiero validar el contenido de una celda de un datagridview. Para ello en la
función CellValidated del datagridview compruebo si los datos introducidos
cumplen el formato y lo que quiero es que si no cumple el formato no me deje
salir de la celda hasta que sea correcto, pero no se como volver a poner el
foco en la celda.

La función que utilizo es la siguiente:
Private Sub dgrid_CellValidated(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles dgrid.CellValidated

If Not Me.dgrid.Item(e.ColumnIndex, e.RowIndex).Value Is Nothing Then
Dim sMensaje As String =
oComun.ComprobarFormato(Me.dgrid.Item(e.ColumnIndex, e.RowIndex).Value,
Me.dgrid.Columns(e.ColumnIndex).Name, 0) --si el formato es incorrecto
devuelve un mensaje de error
If sMensaje <> "" Then
MsgBox(sMensaje , MsgBoxStyle.Exclamation, "Error")
' Me.dgLineasMP.Item(e.ColumnIndex, e.RowIndex).Value =
iValorAnterior
'Me.dgLineasMP.CurrentCell = Me.dgLineasMP(e.ColumnIndex,
e.RowIndex)
'Me.dgLineasMP.Focus()

End If
End If
End Sub


Gracias

Preguntas similare

Leer las respuestas

#6 Antonio
22/09/2006 - 20:47 | Informe spam
Willians

Gracias por lo que pusiste me sirvio mucho, haber si me pueden ayudar con
algo al cerrar el formulario realiza el CellValidating como puedo evitar esto.

Saludos

"Williams" wrote:

Mira camarada. Es correcto hacer la validacion en el evento CellValidating.
Sin embargo, creo que tu problema no es la validacion sino que te valida el
valor que tenia anteriormente y muchas veces te valida un valor "null" cuando
es la primer vez que entras a esa celda.

Me ocurrio una vez. Lo unico que tienes que hacer es:

MyGrid.EndEdit();

Esto va antes de validar el contenido de la celda. Si no pasa la validacion
entonces pones:

e.cancel=true;

Obviamente el codigo esta en C# pero es lo mismo para Visual Basic solo que
sin los punto y coma.

Espero no sea muy tarde. Lo que pasa es que ahora ando buscando ponerle mas
crema a eso. Quiero que si la celda debe aceptar solo numeros, deseo que no
se escriba nada si la tecla pulsada es una letra, pero esta en chino. jaja.
No es tan facil como con los TextBoxes.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida