Visual Basic.NET - Seleccionar fila de un Datagridview y pasarlo a form abierto

   
Vista:
Imágen de perfil de Luis

Seleccionar fila de un Datagridview y pasarlo a form abierto

Publicado por Luis (11 intervenciones) el 24/06/2014 16:06:11
Buenos Dias Ante Todo.

Tengo un pequeño problema que no he podido resolver con un datagridview, les comento que tengo un form de empleados y en este tengo un boton que dice buscar y m abre otro form que tiene un datagridview y tiene un textboxt para buscar dentro del datagridview que funciona bien, mi problema radica que quiero pasar los datos de la fila encontrada al form que se encuentra abierto para poder editar la informacion y es donde tengo el problema, solo he logrado pasar los datos de una celda, pero no asi toda las fila.


estoy utilizando visual.net ultimate 2008

les agradeceria si tienen una idea de como hacer esto les dejo el codigo que utilizo para psar solo una celda pero quiero pasar toda la fila. Les agradeceria cualquier ayuda.
FrmEmpleados.NombreTxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.Aptxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.Amtxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.CalleTxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.NoTxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.ColoniaTxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.MunicipioTxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.ComboEstados.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.MTxtCodigoPostal.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.MtxtTelefono.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.Combopuesto.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.Comboturno.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.rfctxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.curptxt.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.Mktfechanac.Text = Me.DataGridView1.CurrentCell.Value
FrmEmpleados.Combostatus.Text = Me.DataGridView1.CurrentCell.Value
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Seleccionar fila de un Datagridview y pasarlo a form abierto

Publicado por omar pc.net.2018@hotmail.com (128 intervenciones) el 24/06/2014 17:17:26
Saludos

Enviame un email para ayudarte con tu problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos Javier Medina

Seleccionar fila de un Datagridview y pasarlo a form abierto

Publicado por Carlos Javier Medina cjmedina1956@hotmail.com (31 intervenciones) el 25/06/2014 21:11:21
Hola Luis, buenos días.
Así puedes pasar los datos de la fila activa:

FrmEmpleados.NombreTxt.Text = Me.DataGridView1.CurrentRow.Cells("nombrecolumna").Value)

Puedes usar el evento DataGridView1.CellContentClick que ocurre cuando el usuario da clic en el contenido de la celda, en este caso cuando de clic sobre una celda (fila-columna) cualquiera del datagrid, se produce el evento y puedes pasar toda la fila usando el CurrentRow como indice.

Saludos y si necesitas algo más me escribes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis Enrique

Seleccionar fila de un Datagridview y pasarlo a form abierto

Publicado por Luis Enrique (11 intervenciones) el 26/06/2014 15:44:27
Muchas gracias me fue muy valiosa tu aporte y reitero el apoyo, solo cambie el evento a CellDoubleClick para que el usuario tenga oportunidad de verificar la fila a editar y el codigo me quedo como sigue:

FrmEmpleados.Idtxtempleado.Text = Me.DataGridView1.CurrentRow.Cells("NoEmpleado").Value
FrmEmpleados.NombreTxt.Text = Me.DataGridView1.CurrentRow.Cells("Nombre").Value
FrmEmpleados.Aptxt.Text = Me.DataGridView1.CurrentRow.Cells("ApellidoPaterno").Value
FrmEmpleados.Amtxt.Text = Me.DataGridView1.CurrentRow.Cells("ApellidoMaterno").Value
FrmEmpleados.CalleTxt.Text = Me.DataGridView1.CurrentRow.Cells("Calle").Value
FrmEmpleados.NoTxt.Text = Me.DataGridView1.CurrentRow.Cells("Numero").Value
FrmEmpleados.ColoniaTxt.Text = Me.DataGridView1.CurrentRow.Cells("Colonia").Value
FrmEmpleados.MunicipioTxt.Text = Me.DataGridView1.CurrentRow.Cells("Municipio").Value
FrmEmpleados.ComboEstados.Text = Me.DataGridView1.CurrentRow.Cells("Estado").Value
FrmEmpleados.MTxtCodigoPostal.Text = Me.DataGridView1.CurrentRow.Cells("CodigoPostal").Value
FrmEmpleados.MtxtTelefono.Text = Me.DataGridView1.CurrentRow.Cells("Telefono").Value
FrmEmpleados.Combopuesto.Text = Me.DataGridView1.CurrentRow.Cells("Puesto").Value
FrmEmpleados.Comboturno.Text = Me.DataGridView1.CurrentRow.Cells("Turno").Value
FrmEmpleados.rfctxt.Text = Me.DataGridView1.CurrentRow.Cells("RFC").Value
FrmEmpleados.curptxt.Text = Me.DataGridView1.CurrentRow.Cells("CURP").Value
FrmEmpleados.Mktfechanac.Text = Me.DataGridView1.CurrentRow.Cells("Fecha_Nac").Value
FrmEmpleados.Combostatus.Text = Me.DataGridView1.CurrentRow.Cells("estatus").Value
FrmEmpleados.DateTimePicker2.Text = Me.DataGridView1.CurrentRow.Cells("Fecha_baja").Value
FrmEmpleados.DateTimePicker1.Text = Me.DataGridView1.CurrentRow.Cells("Fecha_Ing").Value
FrmEmpleados.Combocta.Text = Me.DataGridView1.CurrentRow.Cells("Cta_Cliente").Value
FrmEmpleados.nsstxt.Text = Me.DataGridView1.CurrentRow.Cells("NSS").Value
FrmEmpleados.combocivil.Text = Me.DataGridView1.CurrentRow.Cells("Est_Civil").Value
FrmEmpleados.npadretxt.Text = Me.DataGridView1.CurrentRow.Cells("Nom_Padre").Value
FrmEmpleados.nmadretxt.Text = Me.DataGridView1.CurrentRow.Cells("Nom_Madre").Value
FrmEmpleados.SDtxt.Text = Me.DataGridView1.CurrentRow.Cells("SD").Value
FrmEmpleados.combosexo.Text = Me.DataGridView1.CurrentRow.Cells("Sexo").Value
FrmEmpleados.umftxt.Text = Me.DataGridView1.CurrentRow.Cells("UMF").Value
FrmEmpleados.comboestudio.Text = Me.DataGridView1.CurrentRow.Cells("Ult_Est").Value
FrmEmpleados.beneftxt.Text = Me.DataGridView1.CurrentRow.Cells("Benef").Value
FrmEmpleados.Comboparentesco.Text = Me.DataGridView1.CurrentRow.Cells("Parentesco").Value
FrmEmpleados.rfcbentxt.Text = Me.DataGridView1.CurrentRow.Cells("RFC_Benf").Value
FrmEmpleados.MaskedTextBox2.Text = Me.DataGridView1.CurrentRow.Cells("Porc_Benef").Value
FrmEmpleados.dirbentxt.Text = Me.DataGridView1.CurrentRow.Cells("Dir_Benef").Value
FrmEmpleados.Tarjetatxt.Text = Me.DataGridView1.CurrentRow.Cells("Tarj_Banco").Value
FrmEmpleados.ctabantxt.Text = Me.DataGridView1.CurrentRow.Cells("Cta_Banco").Value
FrmEmpleados.Cinftxt.Text = Me.DataGridView1.CurrentRow.Cells("Cred_Inf").Value
FrmEmpleados.Nocredinftxt.Text = Me.DataGridView1.CurrentRow.Cells("No_Cred_Inf").Value
FrmEmpleados.factorinftxt.Text = Me.DataGridView1.CurrentRow.Cells("factor_Inf").Value
FrmEmpleados.desctinftxt.Text = Me.DataGridView1.CurrentRow.Cells("Tipo_Descto").Value

Me.Close()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Seleccionar fila de un Datagridview y pasarlo a form abierto

Que bueno que hayas solventado tu problema.

Solo como comentario debo decir lo siguiente:

Por el código veo que es Visual Basic.Net, ya que en la pregunta inicial dice uso visual.net, pero no dices Visual que, ya que tenemos Visual Basic.Net, Visual C#.Net, Visual C++ y todos los visual de Microsoft que vienen con el IDE Visual Studio, de .NET.

Ahora, el tema es que Visua Basic.Net es un lenguaje orientado a objetos y por consiguiente todo lo que con él se haga para aprovechar su potencia se debería hacer orientado a objetos, con lo cual si tienes un formulario como veo en tu código llamado FrmEmpleados, en la opción del menú donde lo cargas, deberías tener algo así:

Dim FrmEmple as new FrmEmpleados -----'Esta es la manera correcta de instanciar un formulario.
FrmEmple.Show()

Con lo cual, si corres ese código jamás te va a funcionar

Otra recomendación, debes activar Option Strict On y Option Explicit On, eso con la finalidad de evitar inconsistencias tanto en las variables como en los tipos de datos y puedas obtener resultados inesperados.

Si trabajaras orientado a objetos todo ese problema que tienes allí, lo solventarías con una sola linea de código por decir un ejemplo:

objCliente.GetById(Aqui El IdDelCliente)

Esa linea te llenaría todo lo que tiene un cliente o un empleado.

Ahora para pasarlo desde un formulario a otro solo usarías un evento para enviar el objCliente o empleado hasta tu otro formulario y tendrias todo el objeto lleno.

Bueno espero haberte dado una idea adicional de lo que ya conoces respecto a Visual Basic.Net

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis Enrique

Seleccionar fila de un Datagridview y pasarlo a form abierto

Publicado por Luis Enrique (11 intervenciones) el 26/06/2014 21:19:00
Gracias por los comentarios los voy a tomar muy en cuenta

Saludos Cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis

Seleccionar fila de un Datagridview y pasarlo a form abierto

Publicado por Luis (11 intervenciones) el 08/07/2014 20:17:41
Me da pena comentar pero el codigo que hicieron de apoyarme dejo de funcionar y solo funciono 3 ocasiones y despues ya no quizo enviar los datos a mi form abierto

FrmEmpleados.Idtxtempleado.Text = Me.DataGridView1.CurrentRow.Cells("NoEmpleado").Value
FrmEmpleados.NombreTxt.Text = Me.DataGridView1.CurrentRow.Cells("Nombre").Value
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Seleccionar fila de un Datagridview y pasarlo a form abierto

Bueno, creo que ya estuviste advertido no?.

Implementa lo que te dije. Piensa en objetos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar