PDA

Ver la versión completa : Visual Basic.Net



Adonis74
27/07/2010, 01:53
Hola un saludo a todos.
Estoy desarrollando una aplicación en VB.Net , en unos de los formularios existe un datagridview enlazado a datos de una tabla con origen en su servidor sql. La tabla principal alojada en ese servidor se alimenta de unos controles que existen en el mismo formulario del datagridview. En tiempo de ejecución cuando inserto una nueva fila a travez de los controles TextBox, combobox, datetimerpicker, ect. Se actauliza automáticamente los registros del datagridview pudiéndose ver sin problemas. Hasta ahí todo funciona de maravillas.

Necesito editar y modificar cualquier dato del datagridview y que a su vez se actualice en la tabla de la base de datos y se vea ya actualizado en el datagribview. Para esto adicioné un nuevo formulario con un botón llamado modificar, en este nuevo form. puse tantos controles como columna tiene el datagridview y al hacer doble clic sobre una fila ese evento me llama al formulario nuevo y en esos controles se ven los datos de la fila. Hasta ahí todo perfecto el código que utilice fue este por si alguna vez lo necesitan:

Private Sub Medios_de_SeguridadDataGridView_CellDoubleClick(By Val sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Medios_de_SeguridadDataGridView.CellDoubleClick
Dim Fila_Seleccionada As Byte = CByte(Me.Medios_de_SeguridadDataGridView.CurrentCe ll.RowIndex)
Dim vector_de_datos(100) As String
vector_de_datos(0) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(0).Value
vector_de_datos(1) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(1).Value
vector_de_datos(2) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(2).Value
vector_de_datos(3) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(3).Value
vector_de_datos(4) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(4).Value
vector_de_datos(5) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(5).Value
vector_de_datos(6) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(6).Value
vector_de_datos(7) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(7).Value
vector_de_datos(8) = Me.Medios_de_SeguridadDataGridView.Rows(Fila_Selec cionada).Cells(8).Value

cargardatos(vector_de_datos)
Me.cargardatos(vector_de_datos)
My.Forms.ModificarMedios.ShowDialog()
End Sub


Private Sub cargardatos(ByVal vector_de_datos)
ModificarMedios.NroTextBox.Text = vector_de_datos(0)
ModificarMedios.DescripcionTextBox.Text = vector_de_datos(1)
ModificarMedios.CodigoTextBox.Text = vector_de_datos(2)
ModificarMedios.UbicacionTextBox.Text = vector_de_datos(3)
ModificarMedios.FechaEntregaTextBox.Text = vector_de_datos(4)
ModificarMedios.FechaVerificacionTextBox.Text = vector_de_datos(5)
ModificarMedios.TiempoTextBox.Text = vector_de_datos(6)
ModificarMedios.FechaProximaVFTextBox.Text = vector_de_datos(7)
ModificarMedios.ObservacionesTextBox.Text = vector_de_datos(8)

End Sub

Nota: Estas lineas de código van en el formulario 1 donde está el datagridview, en el evento cellDoubleclick
Mi problema está una vez estando en los datos cargados del formulario nuevo(ModificarMedios), ¿qué metodo debo llamar para que a travez del boton modificar se actalicen los datos en el datagridview y a su vez en la tabla de la base de datos.
He puesto todos estos y ninguno me funciona:

Private Sub Modificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Modificar.Click

Me.Validate()
Medios_de_SeguridadTableAdapter.Update(Me.OBETVDat aSet.Medios_de_Seguridad)
Me.Medios_de_SeguridadTableAdapter.Fill(Me.OBETVDa taSet.Medios_de_Seguridad)


Medios_de_SeguridadTableAdapter.Insert(Descripcion TextBox.Text, CodigoTextBox.Text, UbicacionTextBox.Text, FechaEntregaTextBox.Text, FechaVerificacionTextBox.Text, TiempoTextBox.Text, FechaProximaVFTextBox.Text, ObservacionesTextBox.Text)

Medios_de_SeguridadTableAdapter.UpdateAll(Descripc ionTextBox.Text, CodigoTextBox.Text, UbicacionTextBox.Text, FechaEntregaTextBox.Text, FechaVerificacionTextBox.Text, TiempoTextBox.Text, FechaProximaVFTextBox.Text, ObservacionesTextBox.Text))
End Sub

Nota el de insert lo que me hace es agregar un registro nuevo en la tabla tal y como lo hago con los controles del formulario 1 (no es lo que necesito) Lo que busco es que al modificar por ejemplo lo que hay en (UbicacionTextBox.Text) se actualice en el datagridview y en la BD.

Espero puedan ayudarme y les sirva tambien lo que le he dejado y que me ha funcionado.
Saludos y espero colaboración.

Adonis