Autor Beitrag
flyhigh83
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67

Win 7
C# (VS2010)
BeitragVerfasst: Mo 22.11.10 15:06 
Hallo,

habe vermutlich ein kleines Problem aber irgendwie stehe ich beim Debuggen etwas auf dem Schlauch.

Ich habe ein Dataset angelegt und meine TableAdapter. etc.
Ich habe ein Form auf dem Textboxen als auch ein DataGridview ist, welches ich mit den Passenden Spalten der Tabelle verküpft habe.

Ich habe noch einen Bindingnavigator eingefügt welcher auch funktioniert. Jetzt kommt aber das komisch

Wenn ich einen neuen Datensatz anlege über den Bindingnavigator erhalte ich normal leere Textboxen.
Wenn ich jetzt auf meinen extra angelegten Update Button klicke nachdem ich neue Daten eingegeben habe in die Felder und somit die Daten speichern will passiert nichts.

ausblenden C#-Quelltext
1:
this.NamenTableAdapter.Update(this.DatenbankDataSet.Namen);					


Komisch ist, wenn ich in dem DatenGridView einen anderen Datensatz auswähle und dann auf Update klicke funktioniert alles. Er speichert die Daten.
Das gleiche habe ich über den Bindingnavigator versucht. Es ging leider auch nicht. Speziell wäre das eh ein Problem wenn ich nur 1 Datensatz hätte. Also die Tabelle leer wäre, könnte ich eh nicht über den Bindingnavigator das steuern.

Wo kann ich ansetzten um das zu lösen?
ThoMa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 3



BeitragVerfasst: Mo 22.11.10 15:41 
Hallo,

solange Du im DataGrid auf dem Datensatz mit dem Datenzeiger stehst, den Du bearbeitet hast, ist er noch nicht in der neuen Version ins DataSet zurück übernommen worden. Er befindet sich ja noch im "Bearbeiten-Zustand". Erst wenn Du den Bearbeiten-Zustand verlässt, findet das Update gegen das zugrundeliegende DataSet statt. Erst dann bekommt die Row den entsprechenden Status vermittelt, dass eine Datenbankänderung stattzufinden hat.

Guck mal in der MSDN nach der Methode EndEdit() um den Bearbeiten-Zustand vor dem Zurückschreiben (Update) zu verlassen. :)

Grüße
Thorsten

Für diesen Beitrag haben gedankt: flyhigh83
flyhigh83 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67

Win 7
C# (VS2010)
BeitragVerfasst: Mo 22.11.10 17:22 
Danke Thorsten.

Hat funktioniert. Musste mich etwas Tiefer in die einzelnen EndEdit() Methoden einlesen welche für was wann geeignet ist und was eintritt. Aber habe jetzt eine Passende gefunden.

ausblenden C#-Quelltext
1:
this.TableBindingSource.EndEdit();					


Chris