elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 08:10  

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Obtener valores de un DataGridView [SOLUCIONADO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Obtener valores de un DataGridView [SOLUCIONADO]  (Leído 3,513 veces)
novalida

Desconectado Desconectado

Mensajes: 128


Ver Perfil
Obtener valores de un DataGridView [SOLUCIONADO]
« en: 19 Marzo 2010, 12:50 »

Hola!
He implementado este evento CellContentClick para que cuando se haga click sobre una fila de un objeto DatagridView se rellenen con los datos de dicha fila unos TextBox del mismo formulario:

Código:
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
        Me.txtDni.Text = Me.DataGridView1.CurrentRow.Cells.Item("dni").Value
        Me.txtNombre.Text = Me.DataGridView1.CurrentRow.Cells.Item("nombre").Value
        Me.txtTelefono.Text = Me.DataGridView1.CurrentRow.Cells.Item("telefono").Value
    End Sub

El problema es que al hacer click no siempre se rellenan los TextBox, teniendo que dejar cierto tiempo entre click y click para que sí se rellenen.

¿Alguien sabe por qué es el problema y cómo puedo solucionarlo?

Un saludo y gracias :)


« Última modificación: 19 Marzo 2010, 16:11 por novalida » En línea
diego_lp

Desconectado Desconectado

Mensajes: 156


In a free world, who needs gates and windows?


Ver Perfil WWW
Re: Obtener valores de un DataGridView
« Respuesta #1 en: 19 Marzo 2010, 15:01 »

Hola novalida,
Me suena que el problema puede ser que si es muy pequeño el intervalo entre click y click el programa te dispare el evento de "DobleClick" en lugar de "CellContentClick".
Tal vez te sirva, probá escribir algun msgbox en los eventos de DobleClick y CellDobleClick para saber si se te estan disparando alguno de estos eventos en lugar del que tu quieres.
Hay otras formas mas "profecionales" de capturar el evento que se dispara pero ésto es lo mas rapido y sencillo.
Saludos.


En línea

Los programadores hicimos un pacto con Dios, él no hace sistemas y nosotros no hacemos milagros!
http://diegodacosta.tk
raul338


Desconectado Desconectado

Mensajes: 2.200


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Obtener valores de un DataGridView
« Respuesta #2 en: 19 Marzo 2010, 15:09 »

y si pones que escuchen los 2 eventos? mas facil asi no te rompes el coco pensando. Eso si, yo lo pondria todo en "Click" y ahi veria si hay una celda seleccionada que muestre los datos, sino que no haga nada (o haga lo que se quiera :P)

Código
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
   Handles DataGridView1.CellContentClick, _
   DataGridView1.DoubleClick ' Linea agregada que escucha los 2 eventos
   '' .....
End Sub
 
En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.126



Ver Perfil WWW
Re: Obtener valores de un DataGridView
« Respuesta #3 en: 19 Marzo 2010, 15:11 »

fijate poner ese codigo en otro envento...porque ahi solo lo hace si haces click en una celda...busca otro evento que lo haga siempre, y tambien fijate debes ponerlo cuando el usuario se mueve con el teclado...

saludos.
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
novalida

Desconectado Desconectado

Mensajes: 128


Ver Perfil
Re: Obtener valores de un DataGridView
« Respuesta #4 en: 19 Marzo 2010, 16:10 »

Hola de nuevo!!!
Antetodo muchísimas gracias por contestar :)
Bueno, al final cambié el evento dado que la solución inicial no era la más correcta y como ha dicho seba123neo sería más correcto que el evento también detectara el movimiento por el teclado.
Código:
Private Sub DataGridView1_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
        Me.txtDni.Text = Me.DataGridView1.CurrentRow.Cells.Item("dni").Value
        Me.txtNombre.Text = Me.DataGridView1.CurrentRow.Cells.Item("nombre").Value
        Me.txtTelefono.Text = Me.DataGridView1.CurrentRow.Cells.Item("telefono").Value
    End Sub

Gracias de nuevo :)
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DataGridView con Chart y Button (Solucionado)
.NET
¡Micronet! 14 4,711 Último mensaje 2 Diciembre 2010, 17:45
por .::IT::.
enviar un datagridview por email c#[SOLUCIONADO]
.NET
evicar 4 1,192 Último mensaje 7 Enero 2011, 22:26
por evicar
Tipos de datos en un DataGridView ¿como conservarlos? [Solucionado]
.NET
Xavelets 1 852 Último mensaje 5 Septiembre 2011, 14:03
por Xavelets
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines