elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  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 25,322 veces)
novalida

Desconectado Desconectado

Mensajes: 160


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

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 pm por novalida » En línea

diego_lp

Desconectado Desconectado

Mensajes: 180


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 pm »

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!
raul338


Desconectado Desconectado

Mensajes: 2.633


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 pm »

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
  1. Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
  2.    Handles DataGridView1.CellContentClick, _
  3.    DataGridView1.DoubleClick ' Linea agregada que escucha los 2 eventos
  4.    '' .....
  5. End Sub
  6.  
En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



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

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

novalida

Desconectado Desconectado

Mensajes: 160


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

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) « 1 2 »
.NET (C#, VB.NET, ASP)
¡Micronet! 15 23,662 Último mensaje 28 Junio 2013, 21:34 pm
por CarballoUriel
enviar un datagridview por email c#[SOLUCIONADO]
.NET (C#, VB.NET, ASP)
evicar 4 11,214 Último mensaje 7 Enero 2011, 22:26 pm
por evicar
Tipos de datos en un DataGridView ¿como conservarlos? [Solucionado]
.NET (C#, VB.NET, ASP)
Xavelets 1 6,671 Último mensaje 5 Septiembre 2011, 14:03 pm
por Xavelets
Como obtener los valores de una matriz de JTextField
Java
BlackJocker 1 3,280 Último mensaje 21 Julio 2016, 14:04 pm
por Octsam
obtener celdas seleccionadas (DataGridView)
.NET (C#, VB.NET, ASP)
FJDA 2 7,250 Último mensaje 16 Marzo 2017, 20:35 pm
por FJDA
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines