Dataset: Werte vor dem Speichern ändern

25/11/2007 - 20:58 von Michael Kolowicz | Report spam
Habe eine für euch bestimmt ganz einfache Frage:

Ich habe ein Dataset. In diesem Dataset befinden sich Tabellen, die alle
die Spalte "ModiefierID" und "LastModified" haben. Nun möchte beim
Update der Tabelle das diese Spalten in den geànderten Rows angepasst
werden.

Wollte das schon mit dem Event "ColumnChanged" erledigen, aber sobald
ich einen Wert àndere wird ja das Event wieder ausgelöst.


Dim row As ContactsRow
row = e.Row

With row
.ModifierID = CurrentUser.UserID
.LastModified = Now
End With

BNContactsSaveItem.Enabled = True


Wo kann ich das also machen, das immer nur die Zeilen angepasst werden,
die geàndert wurden.

Ein Hinweis noch: Alle anderen Tabellenspalten sind gebundene Controls.


Vielen Dank für den "entscheidenen Tipp" im vorraus ;-)
 

Lesen sie die antworten

#1 Peter Fleischer
25/11/2007 - 23:05 | Warnen spam
"Michael Kolowicz" schrieb im Newsbeitrag
news:

Ich habe ein Dataset. In diesem Dataset befinden sich Tabellen, die alle
die Spalte "ModiefierID" und "LastModified" haben. Nun möchte beim
Update der Tabelle das diese Spalten in den geànderten Rows angepasst
werden.



Hi Michael,
im OnRowUpdating-Ereignis des genutzten DataAdapters kannst du diese Werte
problemlos setzen. Nach dem Update wird standardmàßig der RowState auf
"unchanged" gesetzt. Den CurrencyManager kannst du anweisen, die aktuellen
Werte an die gebundenen Steuerelemente zu senden. Alternativ kannst du auch
angepasste Command-Objekte nutzen, die einfach beim Update nicht die Werte
aus der DataRow für die Aktualisierung nutzten, sondern deine separaten
Werte. Da solltest du aber ein Rücklesen ausführen, z.B. im
OnRowUpdated-Ereignis.

Problematisch bei deinen Vorstelluungen könnten nicht synchrone Datums- und
Zeiteinstellungen sein. Wie schnell so etwas passieren kann, hat ja Moses
mit seinem Auftritt gezeigt.

Viele Gruesse

Peter

Ähnliche fragen