Gewusst wie: Validieren von Daten während Zeilenänderungen
Das Validieren von Daten bezeichnet das Überprüfen der Werte, die in die Anwendungsdaten eingegeben werden. Diese Werte sollten vor dem Senden von Aktualisierungen an den zugrunde liegenden Datenspeicher überprüft werden. Dadurch wird die potenzielle Anzahl von Roundtrips zwischen einer Anwendung und dem Datenspeicher reduziert.
Hinweis
Der Dataset-Designer erstellt eine partielle Klasse, in der einem Dataset Validierungslogik hinzugefügt werden kann.Das vom Designer generierte Dataset löscht bzw. ändert keinen Code in der partiellen Klasse.
Sie können Daten validieren, wenn die Werte in einer Datenzeile geändert werden, indem Sie auf das RowChanging-Ereignis reagieren. Wenn dieses Ereignis ausgelöst wird, übergibt es ein Ereignisargument (e.Row), das die Vorschlagswerte für die einzelnen Spalten der aktuellen Zeile enthält. Auf der Grundlage des Inhalts der einzelnen Spalten von e.Row können Sie:
Den vorgeschlagenen Wert annehmen, indem Sie nichts tun.
Den vorgeschlagenen Wert ablehnen, indem Sie innerhalb des Ereignishandlers für Zeilenänderungen den Spaltenfehler festlegen (SetColumnError).
Optional können Sie ein ErrorProvider-Steuerelement verwenden, um dem Benutzer eine Fehlermeldung anzuzeigen. Weitere Informationen finden Sie unter ErrorProvider-Komponente (Windows Forms).
Sie können mithilfe des ColumnChanging-Ereignisses eine Validierung auch während einzelner Spaltenänderungen ausführen. Weitere Informationen finden Sie unter Gewusst wie: Validieren von Daten während Spaltenänderungen.
Validieren von Daten im RowChanging-Ereignis
Sie können Code schreiben, um sicherzustellen, dass alle zu validierenden Spalten Daten enthalten, die den Anforderungen der Anwendung entsprechen. Wenn der vorgeschlagene Wert unzulässig ist, legen Sie für die Spalte fest, dass sie einen Fehler enthält. In den folgenden Beispielen wird ein Spaltenfehler festgelegt, wenn für die Quantity-Spalte ein Wert von 0 oder weniger gilt. Die Ereignishandler für Zeilenänderungen sollten den folgenden Beispielen entsprechen.
So validieren Sie Daten bei Zeilenänderungen (Visual Basic)
Öffnen Sie das Dataset im Dataset-Designer. Weitere Informationen finden Sie unter Gewusst wie: Öffnen eines Datasets im DataSet-Designer.
Doppelklicken Sie auf die Titelleiste der zu validierenden Tabelle. Durch diese Aktion wird der RowChanging-Ereignishandler der DataTable in der Datei für die partielle Klasse des Datasets automatisch erstellt.
Tipp
Doppelklicken Sie links neben den Tabellennamen, um den Ereignishandler für Zeilenänderungen zu erstellen.Wenn Sie auf den Tabellennamen doppelklicken, können Sie diesen bearbeiten.
Private Sub Order_DetailsDataTable_Order_DetailsRowChanging( ByVal sender As System.Object, ByVal e As Order_DetailsRowChangeEvent ) Handles Me.Order_DetailsRowChanging If CType(e.Row.Quantity, Short) <= 0 Then e.Row.SetColumnError("Quantity", "Quantity must be greater than 0") Else e.Row.SetColumnError("Quantity", "") End If End Sub
So validieren Sie Daten bei Zeilenänderungen (C#)
Öffnen Sie das Dataset im Dataset-Designer. Weitere Informationen finden Sie unter Gewusst wie: Öffnen eines Datasets im DataSet-Designer.
Doppelklicken Sie auf die Titelleiste der zu validierenden Tabelle. Durch diese Aktion wird eine Datei für die partielle Klasse der DataTable erstellt.
Hinweis
Der Dataset-Designer erstellt nicht automatisch einen Ereignishandler für das RowChanging-Ereignis.Sie müssen eine Methode erstellen, mit der Sie das RowChanging-Ereignis behandeln und Code ausführen können, um das Ereignis in der Initialisierungsmethode der Tabelle zu verknüpfen.
Kopieren Sie den folgenden Code in die partielle Klasse:
public override void EndInit() { base.EndInit(); Order_DetailsRowChanging += TestRowChangeEvent; } public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e) { if ((short)e.Row.Quantity <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } }
Siehe auch
Aufgaben
Gewusst wie: Herstellen einer Verbindung zu Daten in einer Datenbank
Gewusst wie: Validieren von Daten während Spaltenänderungen
Exemplarische Vorgehensweise: Anzeigen von Daten in einem Windows Form
Referenz
Ereignisse (C#-Programmierhandbuch)
Konzepte
Erstellen und Bearbeiten von typisierten Datasets