2010-11-27 11 views
-1

Ich habe ein kleines Problem mit dem Silverlight-Datenraster. Ich habe eine kleine Beispiel-App geschrieben, um das Problem zu zeigen. (Sie können es hier herunterladen: http://rapidshare.com/files/433480041/DataGridValidationTest.zip).
Hier können Sie einer Sammlung, die in einem DataGrid angezeigt wird, eine neue Person (mit einem Namen und einem Alter) hinzufügen.
Ich habe auch die Validierung basierend auf der INotifyDataErrorInfo-Schnittstelle implementiert. Wenn Sie auf Speichern klicken, werden die Daten validiert (Name darf nicht null sein, Alter gt 0).

Die Validierung funktioniert gut, aber die Validierungsfehler werden nur angezeigt, wenn ich in eine Zeile klicke. Nach dem Anklicken der Schaltfläche Save ist die Daten validierte, aber nicht im Netz (siehe Bild unten) gezeigt:
Validation is not shown :(DataGrid Validierung Anzeige Fehler Problem

Wenn ich in der Zeile klicken, um die Daten zu ändern, wird die Validierungsnachricht (Bild unten gezeigt): Validation shown

Wenn ich in dieser Reihe bin, muss ich das Problem lösen, weil ich nicht in der Lage bin, eine andere Zelle auszuwählen.

Weiß jemand, wie ich (alle) Fehler direkt im Grid anzeigen kann? Und kann ich mit dem Fehler aus der Zelle herauskommen, ohne das Problem zu lösen?

Thx im Voraus,

TJ

Antwort

0

Soweit ich weiß, in Silverlight Datagrid, nur eine Zeile zu einem Zeitpunkt aktiv sein würde, also wenn Sie alle Zeilen in der gleichen Zeit valudate mögen, es ist nicht möglich.

Eine andere Problemumgehung ist das Hinzufügen Ihres gesamten Inhalts in derselben Zelle. So könnten alle Ihre Daten editierbar sein und gleichzeitig validiert werden. Was ich meine ist

Wenn Sie Gitter mit 2 Spalten - <DataGrid> <Name> <Age> </DataGrid>

es so <Grid> <Cell> <Grid> <Name> <Age> </Grid> </Cell></DataGrid>

aussehen