none
Desvinculacion DataBindings [Solucionado]

    Pregunta

  • Buenos días

    Me ha surgido un telon a la hora de avanzar con mi aplicación.

    tengo un Listview donde aparecen ciertos registros, al hacer dobleclic sobre un registro, capturo su valor, valor que después utilizare como condición para que una sql busque el registro en la DB y lo mostrará en un textbox vinculado con databings, hasta aquí todo correcto. Cuando abro la aplicación y selecciono el registro, en el form que se abre con los textbox, se cargan todos los datos  corerctamente según criterio, el problema viene cuando cierro el form, donde se habían cargado los datos, al seleccionar otro registro diferente del listview,  cuando se abre el form para mostrar los datos, me carga el anterior, es decir, que no actualiza, es como si se hubiera vinculado para siempre con el primer registro utilizado. Como puedo hacer que se desvincule y pueda refrescar el form con los datos según el criterio de la sql?

    Añado el código.

    Un saludo y gracias


        Public Sub FormEntradaDatosNivel0_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load



            Try

                If Turco = 0 Then
                    '-----------------------------------------------------
                    DA = New OleDbDataAdapter("SELECT * FROM A WHERE NivelA =" & ValorRef, strConexión)
                     DA.Fill(DS, "A")
                    '-----------------------------------------------------


                    TNivel.DataBindings.Add("Text", DS, "A.NivelA")
                    TTitulo.DataBindings.Add("Text", DS, "A.A_titulo")
                    TImage.DataBindings.Add("Text", DS, "A.A_image")
                    TPosicion.DataBindings.Add("Text", DS, "A.A_Location")
                    TPosicionT.DataBindings.Add("Text", DS, "A.A_LocationT")
                    TEstado.DataBindings.Add("Text", DS, "A.A_Visible")
                    TIcono.Image = Image.FromFile(My.Computer.FileSystem.CurrentDirectory & TImage.Text)



                Else
                    '-----------------------------------------------------
                    DA = New OleDbDataAdapter(strBll, strConexión)
                    DA.Fill(DS, "B")
                    '-----------------------------------------------------

                    TNivel.DataBindings.Add(New Binding("Text", DS, "B.NivelB"))
                    TTitulo.DataBindings.Add(New Binding("Text", DS, "B.A_titulo"))
                    TImage.DataBindings.Add(New Binding("Text", DS, "B.A_image"))
                    TPosicion.DataBindings.Add(New Binding("Text", DS, "B.A_Location"))
                    TPosicionT.DataBindings.Add(New Binding("Text", DS, "B.A_LocationT"))
                    TEstado.DataBindings.Add(New Binding("Text", DS, "B.A_Visible"))
                    TNivelPadre.DataBindings.Add(New Binding("Text", DS, "B.B_CasaButton"))
                    TcaminoDoc.DataBindings.Add(New Binding("Text", DS, "B.B_PatDoc"))

                End If


            Catch ex As Exception

            End Try

        End Sub




    • Editado Andiamos sábado, 3 de diciembre de 2016 16:12
    sábado, 3 de diciembre de 2016 9:33

Respuestas

  • Gracias por responder y la ayuda ofrecida.

    Pero no funciona , ya  hice pruebas en cada caja y seguía con la vinculación, también probé recorrer control a control las cajas de texto, y nada, sigue vinculado, hasta ahora que me dado cuenta y no sé porque no he pensado antes así.

    la solución es el Dataset, lo acabo de probar y perfecto, dejo la solución por si a algunos compañeros les pasa lo mismo.

    Public DS As New DataSet

    Public Sub BorraDS()

    DS.clear()

    End Sub

       Public Sub FormEntradaDatosNivel0_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    BorraDS()

            Try

                If Turco = 0 Then
                    '-----------------------------------------------------
                    DA = New OleDbDataAdapter("SELECT * FROM A WHERE NivelA =" & ValorRef, strConexión)
                    DA.Fill(DS, "A")
                    '-----------------------------------------------------


                    TNivel.DataBindings.Add("Text", DS, "A.NivelA")
                    TTitulo.DataBindings.Add("Text", DS, "A.A_titulo")
                    TImage.DataBindings.Add("Text", DS, "A.A_image")
                    TPosicion.DataBindings.Add("Text", DS, "A.A_Location")
                    TPosicionT.DataBindings.Add("Text", DS, "A.A_LocationT")
                    TEstado.DataBindings.Add("Text", DS, "A.A_Visible")
                    TIcono.Image = Image.FromFile(My.Computer.FileSystem.CurrentDirectory & TImage.Text)



                Else
                    '-----------------------------------------------------
                    DA = New OleDbDataAdapter(strBll, strConexión)
                    DA.Fill(DS, "B")
                    '-----------------------------------------------------

                    TNivel.DataBindings.Add(New Binding("Text", DS, "B.NivelB"))
                    TTitulo.DataBindings.Add(New Binding("Text", DS, "B.A_titulo"))
                    TImage.DataBindings.Add(New Binding("Text", DS, "B.A_image"))
                    TPosicion.DataBindings.Add(New Binding("Text", DS, "B.A_Location"))
                    TPosicionT.DataBindings.Add(New Binding("Text", DS, "B.A_LocationT"))
                    TEstado.DataBindings.Add(New Binding("Text", DS, "B.A_Visible"))
                    TNivelPadre.DataBindings.Add(New Binding("Text", DS, "B.B_CasaButton"))
                    TcaminoDoc.DataBindings.Add(New Binding("Text", DS, "B.B_PatDoc"))

                End If


            Catch ex As Exception

            End Try

        End Sub



    sábado, 3 de diciembre de 2016 16:11