Практическое руководство. Проверка данных в ходе изменения столбцов

Проверка данных представляет собой процесс проверки значений, введенных в приложении. Рекомендуется выполнять проверку этих значений до отправки обновлений в базовое хранилище данных, это уменьшает потенциальное количество циклов обработки между приложением и хранилищем данных.

Примечание

Конструктор наборов данных создает разделяемый класс, где в набор данных может добавляться логика проверки.Набор данных, созданный в конструкторе, не будет удалять или изменять какой-либо код в разделяемом классе.Дополнительные сведения см. в разделе Практическое руководство. Расширение функциональных возможностей набора данных.

Можно проверять данные, когда значение в столбце данных изменяется в ответ на событие ColumnChanging. При возникновении это событие передает аргумент события (ProposedValue), содержащий значение, предлагаемое для текущего столбца. В зависимости от содержания предлагаемого значения e.ProposedValue можно выполнять следующие действия.

  • Принять предложенное значение, не выполняя никаких действий.

  • Отклонить предложенное значение, задав ошибку столбца (SetColumnError) из обработчика событий изменения столбца.

  • Можно также использовать элемент управления ErrorProvider для отображения пользователю сообщения об ошибке. Дополнительные сведения см. в разделе Компонент ErrorProvider (Windows Forms).

Проверку можно также выполнять во время события RowChanging. Дополнительные сведения см. в разделе Практическое руководство. Проверка данных в ходе изменения строк.

Для проверки данных при изменение значений в столбце:

  1. Откройте набор данных в Конструкторе наборов данных. Дополнительные сведения см. в разделе Практическое руководство. Открытие набора данных в конструкторе наборов данных.

  2. Дважды щелкните столбец, который требуется проверить. В результате этого действия создается обработчик событий ColumnChanging для DataTable.

    Примечание

    Конструктор наборов данных не создает автоматически обработчик событий для события C#.Код, необходимый для обработки события, представлен ниже.

  3. Добавьте код для проверки данных, содержащихся в e.ProposedValue, на соответствие требованиям приложения. Если предложенное значение не является допустимым, покажите, что столбец содержит ошибку.

    Следующий код устанавливает ошибку столбца, когда значение в столбце Quantity меньше или равно нулю. Обработчик событий изменения столбца должен выглядеть примерно следующим образом:

    '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", "");
                }
            }
        }
    

См. также

Задачи

Пошаговое руководство. Отображение данных на форме в приложении Windows

Практическое руководство. Проверка данных элемента управления DataGridView в Windows Forms

Практическое руководство. Отображение значков ошибок при проверке введенных в форму данных с помощью компонента ErrorProvider в Windows Forms

Практическое руководство. Подключение к данным в базе данных

Ссылки

окно "Источники данных"

Основные понятия

Общие сведения об адаптере таблиц

Создание и изменение типизированных наборов данных

Общие сведения об источниках данных

Проверка данных