Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Seleccionar registro en Datagridview y mostrarlo en otro formulario

Estas en el tema de Seleccionar registro en Datagridview y mostrarlo en otro formulario en el foro de .NET en Foros del Web. Hola, estoy intentando investigar de que forma puedo seleccionar un registro en un Datagridview y mostrarlo en otro formulario con sus datos en los textbox ...
  #1 (permalink)  
Antiguo 20/11/2014, 05:54
 
Fecha de Ingreso: agosto-2014
Mensajes: 44
Antigüedad: 9 años, 8 meses
Puntos: 0
Seleccionar registro en Datagridview y mostrarlo en otro formulario

Hola, estoy intentando investigar de que forma puedo seleccionar un registro en un Datagridview y mostrarlo en otro formulario con sus datos en los textbox correspondientes...

Es un programa sencillo donde tengo un fichero de Clientes con sus datos personales, en ese formulario un botón de buscar y esto abre el formulario donde tengo el datagridview, sería seleccionarlo y volver a cargar el formulario de clientes ya con sus datos...

He probado sacando el indice pero no me sirve ya que depende de la busqueda los indices varían. Tengo un campo ID y habia pensado en sacar el ID del registro seleccionado para luego cargar en el otro formulario ese ID....Pero no he sido capaz de hacerlo funcionar...
  #2 (permalink)  
Antiguo 20/11/2014, 08:07
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años
Puntos: 16
Respuesta: Seleccionar registro en Datagridview y mostrarlo en otro formulario

Buenas compañero,

Puedes utilizar la propiedad Tag de los formularios, para pasar ese dato de uno a otro...
Ejemplo:
1º) Abro el padre y le doy a buscar, abriendo una venta nueva (Objeto con nombre oFrmClientes).
2º) En la ventana nueva, selecciono el cliente, y pulso Aceptar, al hacer esto, guardo los datos que necesites en el Me.Tag = MiCliente.ID y acto seguido cierro la ventana de clientes.
3º) Desde la ventana padre, uso el oFrmClientes.Tag para obtener el ID del cliente..
4º) Haz lo que tengas que hacer con ese ID.

Espero haberte ayudado con lo que necesitabas..


Un saludo!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)
  #3 (permalink)  
Antiguo 20/11/2014, 10:03
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Seleccionar registro en Datagridview y mostrarlo en otro formulario

Que tal Monxu88, puedes intentar hacer lo que quieres de la siguiente forma:

En el evento DoubleClick del DatagridView escribes por ejemplo un código como este.

Código vb:
Ver original
  1. Private Sub DataGridView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.DoubleClick
  2.      Dim FD As New frmDatos
  3.      FD.Show()
  4. ' Asumiendo que el Id de tu registro está en la Celda(0) de tu DatagridView y deseas pasarlo al TextBox ID de tu formulario frmDatos
  5.     FD.txtId.Text = DataGridView1.SelectedRows(0).Cells(0).Value
  6. ' Así sucesivamente con los demás datos del cliente.
  7.     FD.txtNombre.Text = DataGridView1.SelectedRows(0).Cells(1).Value          
  8.  End Sub


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #4 (permalink)  
Antiguo 21/11/2014, 05:54
 
Fecha de Ingreso: agosto-2014
Mensajes: 44
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Seleccionar registro en Datagridview y mostrarlo en otro formulario

Gracias por la ayuda, he estado mirandolo y creo que no me sirve... Lo que Drako_18 me comenta no se hacerlo funcionar.
He probado lo de Carlojas y me da un error de fuera de indice, pero de todas formas, no se si me sirve ya que no muestro todos los datos en el datagridview pero si que los necesito todos sus datos en la ficha del cliente... Por ejemplo, ID no lo muestro nunca, pero pensaba que guardando el ID del cliente seleccionado podria guardarlo en un Datatable o algo por el estilo para luego poder visualizarlo...
Esto lo tendré que hacer constantemente, y me parece un poco complicado el tener que escribir tanto código ya que tengo muchos datos.(Nombre, apellido, numero, direccion, telefono, movil, CP, Ciudad, Poblacion, observaciones, fecha nacimiento, edad, fecha compra, fecha pruebas.....)
  #5 (permalink)  
Antiguo 21/11/2014, 06:15
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años
Puntos: 16
Respuesta: Seleccionar registro en Datagridview y mostrarlo en otro formulario

Buenas compañero,

FormularioPadre:

Atriburo: private Cliente As Cliente

Código vb.net:
Ver original
  1. Private Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
  2.      Dim FD As New frmDatosClientes
  3.      FD.Show() 'Aquí es donde abre el formulario hijo y buscas el cliente que quieres.
  4.      Me.Cliente = FD.ClienteSeleccionado() 'Obtenemos el cliente que has seleccionado en el frmHijo.
  5.  End Sub

"ClienteSeleccionado" es una propiedad del formulario hijo, el cual te devuelve un objeto de la clase Cliente, que has debido cargar previamente al seleccionar el registro en el Grid y hacer click en Aceptar (típica pantalla de búsqueda). La clase la rellenas cuando hagas click en Aceptar, ahí buscas el elemento seleccionado en el grid y haces lo necesario para obtener los datos que quieres mostrar en la pantalla padre...

Me.MyGrid.SelectedRow te dirá el registro que tienes seleccionado, sólo tendrás que obtener de él el ID y buscarlo en la BD o fichero txt o lo que sea...


Un saludo!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)
  #6 (permalink)  
Antiguo 21/11/2014, 06:16
 
Fecha de Ingreso: agosto-2014
Mensajes: 44
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Seleccionar registro en Datagridview y mostrarlo en otro formulario

Termino de encontrar la solución...

Código PHP:
        num DataGridViewBuscar.CurrentRow.Cells("numero").EditedFormattedValue
        ape 
DataGridViewBuscar.CurrentRow.Cells("apel").EditedFormattedValue.ToString
        nom 
DataGridViewBuscar.CurrentRow.Cells("nom").EditedFormattedValue

        Form1
.TxtNumero.Text num
        Form1
.TxtNombre.Text nom
        Form1
.TxtApellidos.Text ape 
Lo asigno a variables y así luego con esas variables puedo asignarlo a cualquier Formulario.

Creo que esto me puede servir, lo dejo por si álguien más necesita algo por el estilo.

Etiquetas: datagridview, formulario, programa, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:03.