DataSet nicht aktuell in Verbindung mit DataGridView

23/04/2009 - 10:37 von Thomas Bendrich | Report spam
Hallo NG,

in einer Anwendung wird eine Eingabewizard für Daten benötigt. Dieseer
Wizard hàlt ein temporàres DataSet mit mehreren Tabellen. Für jede Tabelle
wird eine BindingSource angelegt und diese werden mit jeweils einer
DataGridView verknüpft. Soweit so gut. Wenn ich nun eine Zeile einer
DataGridView eingebe und diese abschließe, wird der Datansatz nicht sofort in
die entsprechende Tabelle übernommen. Da aber der intererne Zustand am
DataSet festgestellt wird, ist dieser Zustand nicht aktuell. Angenommen, ich
habe 3 Zeilen eingegeben, sind in der entsprechenden Tabelle nur 2 Zeilen
eingetroffen. Noch fataler sieht es aus, wenn nur eine Zeile eingegeben wird,
dann ist die entsprechende Tabelle immer noch leer, wenn der DataGridView den
Eingabefocus verliert.

Nun meine Frage, wie kann ich den DataGridView dazu bewegen, das er die
bereits eingegebenen Daten bei einem Focusverlust in die entsprechende
Tabelle schreibt, so dass ich den aktuellen Zustand vorfinde?

Vielen Dank im Voraus

Thomas
 

Lesen sie die antworten

#1 Frank Dzaebel
23/04/2009 - 11:45 | Warnen spam
Hallo Thomas,

... Angenommen, ich habe 3 Zeilen eingegeben, sind in
der entsprechenden Tabelle nur 2 Zeilen eingetroffen.
... Nun meine Frage, wie kann ich den DataGridView dazu
bewegen, das er die bereits eingegebenen Daten bei
einem Focusverlust in die entsprechende Tabelle
schreibt, so dass ich den aktuellen Zustand vorfinde?



Also das ist zunàchst mal "by design", es wird
normal erst bei PositionChanged des BindingSource
aktualisiert.

Wahrscheinlich hilf Dir hier zum Beispiel:

dgv.CurrentCellChanged += new
EventHandler(dgv_CurrentCellChanged);

und im Handler dann ein:

bindingSource.EndEdit();


ciao Frank
Dipl. Inf. Frank Dzaebel [MCP, MVP C#]
http://Dzaebel.NET

Ähnliche fragen