DataBinding

04/08/2010 - 09:24 von Anthony Konczak | Report spam
Zun?chst mal ein Hallo an alle, ich bin neu hier als Aktiver - als Leser verfolge ich aufgrund der hohen Qualit?t der Beitr?ge und L?sungen das Geschehen hier schon seit langem.

Nun zu meinem Anliegen. Folgendes Szenario vorweg:

Als Datenschicht in meinem Projekt setze ich NHibernate ein - zwecks dazu habe ich mir die Klassen und Mappings erstellt, was auch alles super klappt.

Daraufhin habe ich meinem Projekt eine neue Datenquelle hinzugef?gt und als Datenquellentyp "Objekt" ausgew?hlt und meine o.g. Klassen nun verf?gbar.

Per Drag-&-Drop kann ich meine Eigenschaften der Klasse auf die Form ziehen und Visual Studio erzeugt die passenden Controls dazu und f?gt automatisch eine BindingSource hinzu.

Zu guter letzt gebe ich der BindingSource noch eine DataSource an und schon werden die Daten des ersten Datensatzes in die Controls geladen, ich kann durch die Datens?tze bl?ttern, die Daten in den Controls editieren usw. Soweit klappt alles super...

Nun zu meinem Problem:

Sobald ich z.B. in einer TextBox den Inhalt ge?ndert habe und in die n?chste TextBox wechsele wird per Leave-Event die ?nderung in die BindingSource ?bernommen.

Ich m?chte allerdings erreichen, dass ich in meiner Form per Klick auf einen Button "Abbrechen" ALLE ?nderungen am ausgew?hlten Datensatz verwerfen kann.

Ich habe bisher keine Methode gefunden, die das macht.

Bez?glich NHibernate ist das ganz simpel, da mache ich einfach keinen Commit, dann ?bernimmt er auch nichts in die Datenbank. Aber in der BindingSource steht die ?nderung drin...

Wie l?se ich das am besten?

Vielen Dank im Voraus!


Submitted via EggHeadCafe - Software Developer Portal of Choice
Composite UI Pattern and RAD Development for Data Entry Applications, Part 1
http://www.eggheadcafe.com/tutorial...art-1.aspx
 

Lesen sie die antworten

#1 Anthony Konczak
04/08/2010 - 12:53 | Warnen spam
Hallo,

ich habe das Problem selbst l?sen k?nnen.

Ich lade beim Klick auf den Button "Abbrechen" per NHibernate und der Get-Methode das jeweilige Objekt einfach nochmal aus der Datenbank und ?berschreibe das Objekt in der BindingSource an der Stelle einfach, dadurch verwerfe ich praktisch die ?nderungen.
Die Controls nehmen dann automatisch den urspr?nglichen Wert an - somit w?re mein Problem gel?st.



Anthony Konczak wrote:

DataBinding
04-Aug-10

Zun?chst mal ein Hallo an alle, ich bin neu hier als Aktiver - als Leser verfolge ich aufgrund der hohen Qualit?t der Beitr?ge und L?sungen das Geschehen hier schon seit langem.

Nun zu meinem Anliegen. Folgendes Szenario vorweg:

Als Datenschicht in meinem Projekt setze ich NHibernate ein - zwecks dazu habe ich mir die Klassen und Mappings erstellt, was auch alles super klappt.

Daraufhin habe ich meinem Projekt eine neue Datenquelle hinzugef?gt und als Datenquellentyp "Objekt" ausgew?hlt und meine o.g. Klassen nun verf?gbar.

Per Drag-&-Drop kann ich meine Eigenschaften der Klasse auf die Form ziehen und Visual Studio erzeugt die passenden Controls dazu und f?gt automatisch eine BindingSource hinzu.

Zu guter letzt gebe ich der BindingSource noch eine DataSource an und schon werden die Daten des ersten Datensatzes in die Controls geladen, ich kann durch die Datens?tze bl?ttern, die Daten in den Controls editieren usw. Soweit klappt alles super...

Nun zu meinem Problem:

Sobald ich z.B. in einer TextBox den Inhalt ge?ndert habe und in die n?chste TextBox wechsele wird per Leave-Event die ?nderung in die BindingSource ?bernommen.

Ich m?chte allerdings erreichen, dass ich in meiner Form per Klick auf einen Button "Abbrechen" ALLE ?nderungen am ausgew?hlten Datensatz verwerfen kann.

Ich habe bisher keine Methode gefunden, die das macht.

Bez?glich NHibernate ist das ganz simpel, da mache ich einfach keinen Commit, dann ?bernimmt er auch nichts in die Datenbank. Aber in der BindingSource steht die ?nderung drin...

Wie l?se ich das am besten?

Vielen Dank im Voraus!

Previous Posts In This Thread:


Submitted via EggHeadCafe - Software Developer Portal of Choice
Custom Favorites Web Site with MongoDb and NoRM
http://www.eggheadcafe.com/tutorial...-norm.aspx

Ähnliche fragen