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

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

Примечание

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

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

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

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

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

Можно также выполнить проверку во время изменения отдельных столбцов с помощью события ColumnChanging. Для получения дополнительной информации см. Практическое руководство. Проверка данных в ходе изменения столбцов.

Проверка данных в событии RowChanging

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

Для проверки данных при изменении строки (Visual Basic):

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

  2. Дважды щелкните строку заголовка таблицы, которую требуется проверить. Это действие автоматически создает обработчик событий RowChanging DataTable в файле разделяемого класса набора данных.

    Совет

    Дважды щелкните слева от имени таблицы для создания обработчика событий изменения строки таблицы.Если дважды щелкнуть имя таблицы, можно изменить его.

    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
    

Для проверки данных при изменении строки (C#):

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

  2. Дважды щелкните строку заголовка таблицы, которую требуется проверить. Это действие создает файл разделяемого класса для DataTable.

    Примечание

    Конструктор наборов данных не создает автоматически обработчик событий для события RowChanging.Чтобы подключить событие в методе инициализации таблицы, необходимо создать метод обработки события RowChanging и выполнить код.

  3. Скопируйте следующий код в разделяемый класс:

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

См. также

Задачи

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

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

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

Ссылки

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

События (Руководство по программированию в C#)

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

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

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

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

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

Другие ресурсы

Пошаговые руководства работы с данными