Respecto a lo del botón para ver en un formulario una fila del datagridview

Hola ralvaradot, ya casi lo tengo, he echo una clase datos, con los datos, y luego el botón que aquí te pongo y una clase ficha(que es el nombre de mi formulario a rellenar), solo que yo lo se hacer en c++, sabrías como seria en vb.net,he intentado cambiarlo pero me fallan algunas cosas,te subrayo lo que me da fallos. Muchas gracias
Private Sub modificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles modificar.Click
Dim p As New Datos()
p.ID = Int32.Parse(DataGridView1.SelectedRows(0).Cells(0).Value.ToString())
p.marca = DataGridView1.SelectedRows(0).Cells(1).Value.ToString()
' etc ....
'y ahora pasamos esa clase con datos al form
FormModifica(Dim frmMod as New FormModifica(p))
frmMod.Show()
End Sub
Partial Class ficha
'Constructor que recibe como parámetro una persona
Dim FormModifica(datos p)
InitializeComponents()
TextBox2.Text = p.marca
TextBox3.Text = pe.Apellidos
End Class

1 Respuesta

Respuesta
1

Si esa es una manera de hacerlo, esta bien, pero no veo los subrrayados, ejor coloca en nerita o negrilla lo que te falla para poder saber y ayudarte mejor.

Private Sub modificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles modificar.Click
Dim p As New Datos()
p.ID = Int32.Parse(DataGridView1.SelectedRows(0).Cells(0).Value.ToString())
p.marca = DataGridView1.SelectedRows(0).Cells(1).Value.ToString()
' etc ....
'y ahora pasamos esa clase con datos al form
FormModifica(Dim frmMod as New FormModifica(p))
frmMod.Show()
End Sub
Partial Class ficha
'Constructor que recibe como parámetro una persona
Dim FormModifica(datos p)
InitializeComponents()
TextBox2.Text = p.marca
TextBox3.Text = pe.Apellidos
End Class

Bueno lo 1 es lo siguiente

En el form FormModifica debes cambiar el constructor de la clase del formulario esto es el método Sub New que es el constructor del formulario, lo ubicas en el listado ed métodos del formulario en la parte superior derecha de la ventana de código seria algo como esto:

Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub

Allí en los paréntesis declaras el parámetro en tu caso quedaría :

Public Sub New(ByVal p As Datos)

En tu caso estas declarando los parámetro como se hace en C que primero se coloca el tipo del dato y después el nombre, acá es diferente, por eso es el error.

El otro error es que colocas el dim para definir o enviar el parámetro a una clase o método, esto no se hace así en VB, haría así:

'y ahora pasamos esa clase con datos al form
FormModifica(Dim frmMod as New FormModifica(p))
frmMod.Show()

----------

Dim frmMod as new FormModifica(p)

frmMod.Show

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas