Ho un problema

non riesco a far aggiornare il dataset passando tra un form e l'altro

le modifiche vengono eseguite ma quando si chiude il form e si riapre non appaiono le modifiche, se resetto il programma e riapro il form le modifiche si vedono

dove sbaglio?

il form form1 è il form "principale"
il form fattura è il form dove faccio vedere il ladisoftdataset.righe_documento
FORM FORM1
codice:
.....
.....
tipo = rows(1)
        numero = rows(2)
        anno = rows(3)

        Fattura.ShowDialog()
FORM FATTURA
codice:
 Private Sub Fattura_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        Me.Righe_documentoTableAdapter.Fill(Me.LadisoftDataSet.righe_documento)

 Dim filtro As String = "tipo_doc = '" + Form1.tipo + "' AND numero_doc = '" + Form1.numero + "' AND anno_doc = '" + Form1.anno + "'"
        RighedocumentoBindingSource.Filter = filtro

   End Sub

 MODIFICHE DEL DATASET (CHE NON VENGONO EFFETTUATE) 

 Private Sub ToolStripButton15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton15.Click
        'Tasto Nuovo - Finestra Fattura/DDT

        Dim rows(11) As String
        rows(11) = Form1.tipo
        rows(10) = Form1.anno
        rows(9) = Form1.numero

        Me.LadisoftDataSet.righe_documento.Rows.Add(rows)

        Dim query As String = "INSERT INTO righe_documento (numero_doc, anno_doc, tipo_doc) VALUES ('" + Form1.numero + "','" + Form1.anno + "','" + Form1.tipo + "')"
        modificadb(query)

        CheckRitenuta.Checked = False

        RitAcc1.ReadOnly = True
        RitAcc2.ReadOnly = True
    End Sub

 Private Sub ToolStripButton16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton16.Click
        'Elimina Finestra Fattura/DDT
        Dim r As Integer = FattData.SelectedRows(0).Index

        Dim query As String = "DELETE FROM righe_documento WHERE ID=" + CStr(FattData.Rows(r).Cells(2).Value)
        modificadb(query)
        LadisoftDataSet.righe_documento.Rows.RemoveAt(r)
    End Sub

 Private Sub FattData_Cell(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles FattData.CellBeginEdit
        R = FattData.CurrentRow.Index
        C = FattData.CurrentCell.ColumnIndex
    End Sub


    Private Sub FattData_CellEnd(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles FattData.CellEndEdit
        Dim campo As String = ""
        Dim testo As String = ""

        Select Case C
            Case 0 : campo = "cod"
            Case 1 : campo = "descrizione"
            Case 3 : campo = "qta"
            Case 4 : campo = "um"
            Case 5 : campo = "prezzo"
            Case 6 : campo = "sconto"
            Case 7 : campo = "iva"
            Case 8 : campo = "rit_acc"
        End Select

        With LadisoftDataSet.righe_documento

            If Convert.IsDBNull(.Rows(R).Item(5)) = False Then
                .Rows(R).Item(5) = CEuro(.Rows(R).Item(5))
            End If
            If Convert.IsDBNull(.Rows(R).Item(7)) = False Then
                .Rows(R).Item(7) = CPerc(.Rows(R).Item(7))
            Else
                .Rows(R).Item(7) = "20%"
            End If

            If IsDBNull(.Rows(R).Item(C)) = False Then
                testo = .Rows(R).Item(C)
            End If

        End With
        Dim query As String
        If campo = "rit_acc" Then
            query = "UPDATE righe_documento SET " + campo + "=" + testo + " WHERE ID=" + CStr(FattData.Rows(R).Cells(2).Value)
        Else
            query = "UPDATE righe_documento SET " + campo + "='" + testo + "' WHERE ID=" + CStr(FattData.Rows(R).Cells(2).Value)
        End If
        modificadb(query)

        CalcolaPrezzi()

    End Sub