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