Jak: Sprawdzanie poprawności danych podczas dokonywania zmian w kolumnie
Sprawdzanie poprawności danych jest procesem sprawdzania wartości wprowadzanych w danych aplikacji.Sprawdzanie te wartości przed do wysyłania aktualizacji do magazynu danych podstawowych jest dobrą praktyką, która zmniejsza liczbę potencjalnych przeloty aplikacji i magazynu danych.
[!UWAGA]
Projektant Dataset tworzy klasę częściowe, gdzie logiki sprawdzania poprawności mogą być dodawane do obiektu dataset.Zestaw danych generowanych przez projektanta nie będzie usunąć lub zmienić dowolny kod w klasie częściowe.Aby uzyskać więcej informacji, zobacz Jak: rozszerzają funkcjonalność zestawu danych.
Można sprawdzić poprawność danych po zmianie wartości w kolumnie danych, odpowiadając na ColumnChanging zdarzenia.Podczas podniesione, zdarzenie to przekazuje argument zdarzenia (ProposedValue) zawierającego wartość, proponowane dla bieżącej kolumny.Na podstawie zawartości e.ProposedValue, można:
Zaakceptować wartość proponowanych przez nic się nie dzieje.
Odrzuć wartość proponowanych przez ustawienie błąd kolumny (SetColumnError) od wewnątrz obsługi zdarzenia zmiany w kolumnie.
Opcjonalnie użyj ErrorProvider formantu, aby wyświetlić komunikat o błędzie do użytkownika.Aby uzyskać więcej informacji, zobacz Części projektowanego (Windows Forms).
Można również przeprowadzić sprawdzania poprawności podczas RowChanging zdarzenia.Aby uzyskać więcej informacji, zobacz Jak: Sprawdzanie poprawności danych podczas zmiany wiersza.
Aby sprawdzić poprawność danych jako zmiana wartości w kolumnie
Otwarcie zestawu danych w Projektant Dataset.Aby uzyskać więcej informacji, zobacz Jak: Otwórz element Dataset w projektancie zestawu danych.
Kliknij dwukrotnie kolumnę, którą chcesz sprawdzić.Ta akcja tworzy ColumnChanging obsługi zdarzeń DataTable.
[!UWAGA]
Projektant Dataset nie tworzy automatycznie obsługi zdarzeń dla zdarzenia języka C#.Poniżej znajduje się kod, potrzebnych do obsługi zdarzenia.
Dodaj kod, aby zweryfikować, czy e.ProposedValue zawiera dane, które spełnia wymagania aplikacji.Jeżeli proponowana wartość jest niedopuszczalne, a następnie ustaw kolumnę, aby wskazać, że zawiera ona błąd.
Poniższy przykład kodu ustawia błąd kolumny po Quantity kolumna jest 0 lub mniej.Obsługi zdarzenia Zmiana kolumny powinno wyglądać podobnie do następującego:
'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", ""); } } }
Zobacz też
Zadania
Instruktaż: Wyświetlanie danych w formularzu Windows
Jak: Sprawdzanie poprawności danych w formancie DataGridView Windows Forms
Jak: połączenia z danymi w bazie danych