0

Ich versuche eine tote einfache Sache zu tun, kann aber keinen effektiven Weg finden, es zu tun. Ich habe eine WPF-Anwendung, die über ein DataGrid verfügt. Ich möchte, dass das DataGrid alle Einträge einer Tabelle (in einer SQL Server CE 3.5-Datenbank) anzeigt. Dieser Teil wird einfach durch Setzen der ItemsSource des DataGrids erledigt.DataGrid gebunden an Entity Framework auf SQL Server CE

Jetzt brauche ich den Benutzer in der Lage sein, Zeilen mit der integrierten Funktionalität von nur Eingabe von Daten in der letzten Zeile des Rasters hinzufügen.

Meine Tabelle hat eine Id Spalte, die die PK der Tabelle ist (es ist keine Identity Spalte, weil SQL Server CE 3.5 es nicht mit EF unterstützt). Also muss ich das Max Id jedes Mal berechnen, wenn ich ein neues Element eintrage.

Ich habe Probleme mit den DataGrid-Ereignissen, um diese einfache Sache zu erreichen, kann mich aber nicht durchsetzen. Jeder hat ein Beispiel, wie man das macht?

Dank

Antwort

1

Sie die InitializingNewItem Ereignis verwenden können. InitializingNewItemEventArgs verfügt über eine Eigenschaft NewItem (Objekt), die Sie in den Typ Ihrer Daten umwandeln können und den Schlüsselwert festlegen können. Möglicherweise möchten Sie den Maximalwert einmal abrufen und im Speicher erhöhen.

Ich nehme an, dies ist der einzige Ort, wo neue Objekte erstellt werden (wie es Sql-Ce, keine Nebenläufigkeit), aber wenn es einen anderen Ort in Ihrer Anwendung, wo dies passieren könnte, müssten Sie eindeutige Schlüssel sicherstellen.

+0

Das ist es, was ich letztendlich (und leider) getan habe ... Danke – danbord

1

Here sind Sie eine Abhilfe. Vielleicht könnte es Ihnen helfen, ...

Grüße,