Laden...

BindingSource.Current und neuer Datensatz

Erstellt von ChrisProg vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.464 Views
ChrisProg Themenstarter:in
174 Beiträge seit 2009
vor 8 Jahren
BindingSource.Current und neuer Datensatz

verwendetes Datenbanksystem: SQL-Server 2012

Ich steuere in einer Form mit Hilfe einer Navigationsleiste eine BindingSource an.

An diese BindingSource sind verschiedene Felder gebunden.

Alles funktioniert eigentlich wie es soll, inkl. Datensatzwechsel, neue Datensätze, etc... 😉

In der zu Grunde liegenden Tabelle gibt es aber einige Felder, die (bewusst) nicht auf der Form sichtbar sind, diese fülle ich bei Bedarf mit :

 ((DataRowView)(<Tabelle_BindingSource>.Current).Row[<feld>] = <wert>;

Auch gut...

Aber wenn ich einen neuen Datensatz (mit Hilfe der Navigationsleiste) erstelle, steht "Current" nicht auf dem neuen Datensatz, viel schlimmer noch, wenn ich mit dem o.g. Code das entsprechende Feld füllen will, springt die BindingSource in den neuen Datensatz (--> die Felder werden mit den Werten aus dem vorhandenen DS gefüllt) 8o

Wenn ich mir <Tabelle_BindingSource>.Current direkt nach der Neuerstellung (in bindingNavigatorAddNewItem_Click(object sender, EventArgs e)) anschaue, dann ist unter DataView zu sehen, das die BS eben nicht auf dem neuen DS steht, sondern immer noch auf dem "alten".

Laut MSDN sollte aber automatisch auf den neuen DS gewechselt werden 🤔

Was muß ich tun, um auch bei einem neuen DS das richtige Feld direkt zu füllen?

Ein <Tabelle_BindingSource>.EndEdit() brachte auch keine Besserung, da die BS ja auf einem falschen DS steht ...

MfG Christian