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