Gewusst wie: Validieren von Daten während Spaltenänderungen

Das Validieren von Daten bezeichnet das Überprüfen der Werte, die in die Daten der Anwendung eingegeben werden. Durch das Überprüfen dieser Werte vor dem Senden von Aktualisierungen am zugrunde liegenden Datenspeicher kann die potenzielle Anzahl von Roundtrips zwischen einer Anwendung und dem Datenspeicher reduziert werden.

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.Weitere Informationen finden Sie unter Gewusst wie: Erweitern der Funktionen eines Datasets.

Sie können Daten validieren, wenn der Wert in einer Datenspalte geändert wird, indem Sie auf das ColumnChanging-Ereignis reagieren. Wenn dieses Ereignis ausgelöst wird, übergibt es ein Ereignisargument (ProposedValue), das den Vorschlagswert für die aktuelle Spalte enthält. Auf Grundlage des Inhalts von e.ProposedValue können Sie:

  • Den vorgeschlagenen Wert annehmen, indem Sie nichts tun.

  • Den vorgeschlagenen Wert ablehnen, indem Sie innerhalb des Ereignishandlers für Spaltenä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).

Während des RowChanging-Ereignisses kann ebenfalls eine Validierung ausgeführt werden. Weitere Informationen finden Sie unter Gewusst wie: Validieren von Daten während Zeilenänderungen.

So validieren Sie Daten bei Änderungen der Spaltenwerte

  1. Öffnen Sie das Dataset im DataSet-Designer. Weitere Informationen finden Sie unter Gewusst wie: Öffnen eines Datasets im DataSet-Designer.

  2. Doppelklicken Sie auf die zu validierende Spalte. Durch diese Aktion wird der ColumnChanging-Ereignishandler für DataTable erstellt.

    Hinweis

    Der Dataset-Designer erstellt den Ereignishandler für das C#-Ereignis nicht automatisch.Der zum Behandeln des Ereignisses erforderliche Code wird unten aufgeführt.

  3. Fügen Sie Code hinzu, mit dem überprüft wird, ob die Daten in e.ProposedValue 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.

    Im folgenden Codebeispiel wird ein Spaltenfehler festgelegt, wenn der Wert für die Quantity-Spalte 0 oder weniger beträgt. Der Ereignishandler für Spaltenänderungen sollte dem folgenden Code entsprechen oder ähnlich sein:

    'Visual Basic
    Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _
        Handles Me.ColumnChanging
    
        If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then
    
            If CType(e.ProposedValue, Short) <= 0 Then
            e.Row.SetColumnError(e.Column, "Quantity must be greater than 0")
        Else
            e.Row.SetColumnError(e.Column, "")
            End If
        End If
    End Sub
    
    // C#
    // Add this code to the DataTable 
    // partial class.
        public override void EndInit()
        {
            base.EndInit();
            ColumnChanging += SampleColumnChangingEvent;
        }
    
        public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e)
        {
            if (e.Column.ColumnName == QuantityColumn.ColumnName)
            {
                if ((short)e.ProposedValue <= 0)
                {
                    e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
                }
                else
                {
                    e.Row.SetColumnError("Quantity", "");
                }
            }
        }
    

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Anzeigen von Daten in einem Windows Form

Gewusst wie: Überprüfen von Daten im DataGridView-Steuerelement in Windows Forms

Gewusst wie: Anzeigen von Fehlersymbolen für die Formularvalidierung mit der ErrorProvider-Komponente in Windows Forms

Gewusst wie: Herstellen einer Verbindung zu Daten in einer Datenbank

Referenz

Datenquellenfenster

Konzepte

Übersicht über TableAdapters

Erstellen und Bearbeiten von typisierten Datasets

Übersicht über Datenquellen

Überprüfen von Daten