CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Ayuda Datagridview
pedroisma:
Tengo un form1 con un datagridview y un form2 con varios textbox, deseo que cuando haga doble click sobre una fila del datagridview, los datos de la fila seleccionada se reflejen en sus respectivos texbox del form2. Me gustaria que me explicarais como puedo hacerlo ya que llevo bastante tiempo intentandolo y no encuentro la solución. Gracias
Cajami:
hola, prueba con esto:
--- Código: Text --- Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick Dim Fila_Seleccionada As Byte = CByte(Me.DataGridView1.CurrentCell.RowIndex) Me.TextBox1.Text = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(3).Value.ToString End Sub
lencho:
--- Cita de: "Cajami" --- hola, prueba con esto:
--- Código: Text --- Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick Dim Fila_Seleccionada As Byte = CByte(Me.DataGridView1.CurrentCell.RowIndex) Me.TextBox1.Text = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(3).Value.ToString End Sub
--- Fin de la cita ---
pero eso lo mostraria en el textbox que tenga el primer formulario, y hay que mostrarlo en el segundo formulario.
1. podrias mandarselo como parametro en el NEW
2. puedes mandarselos en un procedure aparte.
--- Citar ---Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
Dim Fila_Seleccionada As Byte = CByte(Me.DataGridView1.CurrentCell.RowIndex)
dim vector_de_datos(2) as integer
vector_de_datos(0) = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(0).Value.ToString
vector_de_datos(1) = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(1).Value.ToString
vector_de_datos(2) = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(2).Value.ToString
dim frm2 as new SegundoFormulario()
frm2.cargardatos(vector_de_datos)
frm2.show()
End Sub
--- Fin de la cita ---
y en el procedure cargardatos
--- Citar ---public sub cargardatos(vector_de_datos)
textbox0.text = vector_de_datos(0)
textbox1.text = vector_de_datos(1)
textbox2.text = vector_de_datos(2)
end sub
--- Fin de la cita ---
BYTE
Cajami:
--- Cita de: "lencho" ---
--- Cita de: "Cajami" --- hola, prueba con esto:
--- Código: Text --- Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick Dim Fila_Seleccionada As Byte = CByte(Me.DataGridView1.CurrentCell.RowIndex) Me.TextBox1.Text = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(3).Value.ToString End Sub
--- Fin de la cita ---
pero eso lo mostraria en el textbox que tenga el primer formulario, y hay que mostrarlo en el segundo formulario.
1. podrias mandarselo como parametro en el NEW
2. puedes mandarselos en un procedure aparte.
--- Citar ---Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
Dim Fila_Seleccionada As Byte = CByte(Me.DataGridView1.CurrentCell.RowIndex)
dim vector_de_datos(2) as integer
vector_de_datos(0) = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(0).Value.ToString
vector_de_datos(1) = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(1).Value.ToString
vector_de_datos(2) = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(2).Value.ToString
dim frm2 as new SegundoFormulario()
frm2.cargardatos(vector_de_datos)
frm2.show()
End Sub
--- Fin de la cita ---
y en el procedure cargardatos
--- Citar ---public sub cargardatos(vector_de_datos)
textbox0.text = vector_de_datos(0)
textbox1.text = vector_de_datos(1)
textbox2.text = vector_de_datos(2)
end sub
--- Fin de la cita ---
BYTE
--- Fin de la cita ---
hola, pero puede hacer referencia al formulario no crees *-)
--- Código: Text --- Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick Dim Fila_Seleccionada As Byte = CByte(Me.DataGridView1.CurrentCell.RowIndex) My.FrmOtroFormulario.TextBox1.Text = Me.DataGridView1.Rows(Fila_Seleccionada).Cells(3).Value.ToString End Sub
lo que trataba de decirle era como sacar la info del registro seleccionado en el DataGridView, nos vemos :hola:
pedroisma:
Muchas gracias a los dos, funciona de las dos formas. Un saludo
Navegación
[#] Página Siguiente
Ir a la versión completa