Hallo,
habe eine Verbindung zu einer SQL-Server DB aufgebaut und lese eine Tabelle in ein Dataset (da = DataAdapter, ds = DataSet, dt = DataTable, bs = Binding Source)
daDataGridView.Fill(dsDataGridView)
dtDataGridView = dsDataGridView.Tables["TabellenName"]
mein DataGridView ist an den DataTable (dtDataGridView) gebunden. Die Tabellendaten werden auch alle korrekt im DataGridView angezeigt.
bsDataGridView.DataSource = dtDataGridView
dgvDataGridView.DataSource = bsDataGridView
Änderungen im DataGridView kann ich auch durchführen. Den letzendlichen Datenbankupdate habe ich über einen SpeicherButton einer MDI Form realisiert. Das DataGridView ist auf einer Childform.
Mein Problem besteht jetzt darin das der DataTable der zum Update genutzt wird die letzte Änderung nicht mitbekommt. Ändere ich z.B drei Zeilen des DataGridView und drücke dann Speichern dann enthält das Update Datatset nur zwei Zeilen.
mit diesen beiden Codezeilen mache ich den Update.
DataTable dtChanges = dtDataGridview.GetChanges()
daDataGridView.Update(dtChanges)
Wenn ich mir ansehe wieviele Zeilen dtChanges enthält dann ist es immer genau eine weniger als ich wirklich editiert habe. Anscheinend bekommt dtDataGridview die letzte Änderung nicht mit weil ich einen Klick auf einer anderen Form mache.
Seltsamerweise funktioniert es korrekt wenn ich als letzte Aktion eine Zeile lösche oder wenn ich nur eine Zeile lösche.
Ich habe jetzt alles durchgesucht weiß aber nicht wo mein wirkliches Problem liegt.
Kann mir einer weiterhelfen?
CK
habe eine Verbindung zu einer SQL-Server DB aufgebaut und lese eine Tabelle in ein Dataset (da = DataAdapter, ds = DataSet, dt = DataTable, bs = Binding Source)
daDataGridView.Fill(dsDataGridView)
dtDataGridView = dsDataGridView.Tables["TabellenName"]
mein DataGridView ist an den DataTable (dtDataGridView) gebunden. Die Tabellendaten werden auch alle korrekt im DataGridView angezeigt.
bsDataGridView.DataSource = dtDataGridView
dgvDataGridView.DataSource = bsDataGridView
Änderungen im DataGridView kann ich auch durchführen. Den letzendlichen Datenbankupdate habe ich über einen SpeicherButton einer MDI Form realisiert. Das DataGridView ist auf einer Childform.
Mein Problem besteht jetzt darin das der DataTable der zum Update genutzt wird die letzte Änderung nicht mitbekommt. Ändere ich z.B drei Zeilen des DataGridView und drücke dann Speichern dann enthält das Update Datatset nur zwei Zeilen.
mit diesen beiden Codezeilen mache ich den Update.
DataTable dtChanges = dtDataGridview.GetChanges()
daDataGridView.Update(dtChanges)
Wenn ich mir ansehe wieviele Zeilen dtChanges enthält dann ist es immer genau eine weniger als ich wirklich editiert habe. Anscheinend bekommt dtDataGridview die letzte Änderung nicht mit weil ich einen Klick auf einer anderen Form mache.
Seltsamerweise funktioniert es korrekt wenn ich als letzte Aktion eine Zeile lösche oder wenn ich nur eine Zeile lösche.
Ich habe jetzt alles durchgesucht weiß aber nicht wo mein wirkliches Problem liegt.
Kann mir einer weiterhelfen?
CK