Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: piwi en 1 Octubre 2010, 09:19 am



Título: Validar nulos
Publicado por: piwi en 1 Octubre 2010, 09:19 am
Hola.

Cual es la forma de validar los campos antes de grabar? EStoy utilizando un bindingSource y BindingNavigator. Cuando estoy en un datagrid le añado un campo y vuelvo a añadir otro (sin rellenar el campo que no puede ser nulo) me salta un error pero no se posiciona en ninguna linea de codigo.
Otra cosa, el me.validating del formulario a quien llama?

Un saludo.


Título: Re: Validar nulos
Publicado por: [D4N93R] en 1 Octubre 2010, 15:12 pm
Hola,

Pues tienes que usar el evento Validating del control que quieres validar.

Un saludo


Título: Re: Validar nulos
Publicado por: piwi en 2 Octubre 2010, 19:25 pm
Gracias por la respuesta.

Los datos los estoy validando en dos eventos del datagrid.

El primero es dataerror.

Código
  1.        If TypeOf (e.Exception) Is ConstraintException Then
  2.            MsgBox("El producto introducido ya existe")
  3.            e.Cancel = True
  4.        End If
  5.  

Y el segundo es RowValidating

Código
  1. If PRODUCTODataGridView(2, e.RowIndex).Value Is DBNull.Value Then
  2.            MsgBox("Debe introducir un nombre del producto")
  3.            e.Cancel = True
  4. End If
  5.  
Es correcta esta forma?


Por ultimo, al dar el botón nuevo del bindingnavigator se produce el evento BindingNavigatorAddNewItem, cual es el evento que salta cuando la fila ya está insertada? El problema es que al añadir una fila nueva que solamente tiene un campo ya que el campo clave está oculto, no me pone el cursor en el campo sino me lo selecciona en azul.
He visto que con PRODUCTODataGridView.BeginEdit(True) pero no estoy seguro donde tiene que ir ya que no encuentro el evento que se produce cuando se ha añadido un registro nuevo.

Un saludo.


Título: Re: Validar nulos
Publicado por: [D4N93R] en 2 Octubre 2010, 19:29 pm
Por favor modifica tu post y añade las etiquetas geshi correspondientes. [code=csharp][/code]