SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: Cajami en Martes 27 de Febrero de 2007, 20:05

Título: Impedir Salida De La Celda
Publicado por: Cajami en Martes 27 de Febrero de 2007, 20:05
Hola, tengo un DataGridView con 7 columnas, en 4 de eias el usuario tiene que ingrear notas, en el evento cellendedit he podido ver si lo que ingresa el usuario en una de esas cuatro columnas ha escrito un numero y cuando no lanzo un mensaje informando que no se puede ingresar letras, pero no hep podido que si sale ese mensaje impedir que se salga de esa celda, mi DataGridView no está enlazado con ningun datasource por siaca.

Como puedo llevar el focus a una determinada celda, gracias por leer mi pregunta  :hola:
Título: Re: Impedir Salida De La Celda
Publicado por: Widark en Martes 27 de Febrero de 2007, 23:35
Que Tal Cajami!

Revisa esta url Valida DataGridView (http://msdn2.microsoft.com/es-es/library/ykdxa0bc(VS.80).aspx)
Título: Re: Impedir Salida De La Celda
Publicado por: lencho en Miércoles 28 de Febrero de 2007, 00:10
Usa la property CurrentCell para posicionar el foco  o para saber donde esta el foco.

BYTE.
Título: Re: Impedir Salida De La Celda
Publicado por: Cajami en Domingo 4 de Marzo de 2007, 17:37
hola, tengo un problema en el evento cellvalidating:

Código: Text
  1.     Private Sub DgvAlumnos_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DgvAlumnos.CellValidating
  2.         If e.ColumnIndex >= 4 AndAlso e.ColumnIndex <= 7 Then
  3.             If IsNumeric(Me.DgvAlumnos.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) Then
  4.                 'codigo ....
  5.             Else
  6.                 MessageBox.Show("Ingrese solo números", Titulo, MessageBoxButtons.OK, MessageBoxIcon.Error)
  7.                 e.Cancel = True
  8.             End If
  9.         End If
  10.     End Sub
  11.  
Nunca entra en el segundo If que comprueba si es o no un número el que se ingresó, para ver porque no entra muestro un messagebox para ver el valor de esa celda:

Código: Text
  1. MessageBox.Show(Me.DgvAlumnos.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString)
  2.  
pero aqui está el problema no me muestra naaa en el mensaje como si la celda estuviera vacía y no es asi :S, pero en cambio si pongo ese mensaje en el evento cellendedit si me muestra el numero que he ingresdo en esa celda, pero lo malo es que en este evento no hay e.Cancel =True para no permitir al usuario salir si no es numero, que estoy haciendo mal no lo entiendo
Título: Re: Impedir Salida De La Celda
Publicado por: Cajami en Lunes 5 de Marzo de 2007, 14:25
hola, ia lo resolví, para sacar el valor de la celda en el evento cellvalidating lo hago asi:

Citar
Me.DgvAlumnos.Item(e.ColumnIndex, e.RowIndex).Value[CODE]

Ahora lo que me falta es que cuando se haga clic en un button el foco se valla a una celda , dijeron con CurrentCell pero no logro como usarlo, alguna idea  :hola:
Título: Re: Impedir Salida De La Celda
Publicado por: lencho en Lunes 5 de Marzo de 2007, 14:32
Cita de: "Cajami"
hola, ia lo resolví, para sacar el valor de la celda en el evento cellvalidating lo hago asi:

Citar
Me.DgvAlumnos.Item(e.ColumnIndex, e.RowIndex).Value[CODE]

Ahora lo que me falta es que cuando se haga clic en un button el foco se valla a una celda , dijeron con CurrentCell pero no logro como usarlo, alguna idea  :hola:
[code]Me.DataGrid1.CurrentCell = Me.DataGrid1(numCol - 1 , numFila - 1)[/code]

BYTE.
Título: Re: Impedir Salida De La Celda
Publicado por: Cajami en Lunes 5 de Marzo de 2007, 14:38
hola, muchas gracias brother, aunque en el 2005 se tiene que poner asi:

Código: Text
  1.  Me.DgvAlumnos.CurrentCell = Me.DgvAlumnos.Item(ncolumna, nfila)
  2.  
Título: Re: Impedir Salida De La Celda
Publicado por: lencho en Lunes 5 de Marzo de 2007, 14:43
Cita de: "Cajami"
hola, muchas gracias brother, aunque en el 2005 se tiene que poner asi:

Código: Text
  1.  Me.DgvAlumnos.CurrentCell = Me.DgvAlumnos.Item(ncolumna, nfila)
  2.  
no se cual es la diferencia, pero funcionan los dos.

BYTE.
Título: Re: Impedir Salida De La Celda
Publicado por: Widark en Lunes 5 de Marzo de 2007, 14:44
Que tal Cajami!

Ya intentaste con "e.FormattedValue".

Saludos
Título: Re: Impedir Salida De La Celda
Publicado por: Cajami en Lunes 5 de Marzo de 2007, 14:48
Hola, probé con Item y me salió en el validating:

Código: Text
  1. Me.DgvAlumnos.Item(e.ColumnIndex, e.RowIndex).Value
  2.  

muchas gracias Widark y lencho  :hola:
Título: Re: Impedir Salida De La Celda
Publicado por: Cajami en Lunes 5 de Marzo de 2007, 15:15
hola creo que me alegré muy pronto  :huh: , no se que pasa:

Citar
Hola, probé con Item y me salió en el validating:


CODE 
Me.DgvAlumnos.Item(e.ColumnIndex, e.RowIndex).Value



muchas gracias Widark y lencho 
Antes me salia pero ahora no me sale no se que pasa :S al principio que hice pruebas si me salia ahora no :'(
Título: Re: Impedir Salida De La Celda
Publicado por: Cajami en Miércoles 7 de Marzo de 2007, 11:17
hola, lo he resuelto como tu me dijistes Widark con FormattedValue, gracias