Пошаговое руководство. Добавление проверки в набор данных
В данном пошаговом руководстве показано, как проверить данные при их изменении в наборе данных. Момент выполнения проверки данных зависит от требований приложения; в данном пошаговом руководстве данные проверяются во время изменения значений в отдельных столбцах. В данном пошаговом руководстве для проверки допустимости значения, вводимого в запись, используется событие ColumnChanging. Если значение не является допустимым, то пользователю отображается элемент управления ErrorProvider.
В примере также показано, как использовать конструктор набора данных при создании частичного класса для набора данных. (В частичный класс пользователь может добавлять код для расширения функциональности набора данных, сгенерированного Visual Studio. Он не будет перезаписан при регенерации набора данных).
Примечание
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров.Дополнительные сведения см. в разделе Работа с параметрами.
В этом пошаговом руководстве демонстрируется выполнение следующих задач.
Создание нового проекта Приложение Windows.
Создание и настройка набора данных с помощью мастер настройки источника данных.
Выбор элемента управления, создаваемого на форме при перетаскивании элементов из окна Источники данных. Дополнительные сведения см. в разделе Практическое руководство. Установка элемента управления, создаваемого при перетаскивании из окна "Источники данных".
Создание элемента управления с привязкой к данным путем перетаскивания элементов из Окно "Источники данных" на форму.
Создание частичного класса для расширения функциональности набора данных.
Создание обработчика событий для события ColumnChanging таблицы OrderDetails.
Добавление проверки того, что столбец Quantity содержит значения больше 0.
Отображение компонента Компонент ErrorProvider (Windows Forms) для информирования пользователей о том, что элемент управления с привязкой данных содержит недопустимые значения.
Обязательные компоненты
Для выполнения этого пошагового руководства потребуется следующее.
- Доступ к образцу базы данных "Борей". Дополнительные сведения см. в разделе Практическое руководство. Установка образцов баз данных.
Создание нового приложения Windows
Для создания нового проекта приложения Windows
В меню Файл создайте новый проект.
Назовите проект ValidationWalkthrough.
Выберите Приложение Windows и нажмите OK. Дополнительные сведения см. в разделе Создание приложения для Windows.
Проект ValidationWalkthrough создан и добавлен в обозреватель решений.
Создание нового источника данных из вашей базы данных
Создание источника данных
В меню Данные выберите команду Показать источники данных.
Чтобы запустить Мастер настройки источника данных, выберите элемент Добавить новый источник данных в окне Источники данных.
На странице Выбор типа источника данных выберите элемент База данных и нажмите Далее.
На странице Выбор подключения базы данных выполните одно из следующих действий:
Если подключение к учебной базе данных Northwind доступно в раскрывающемся списке, то выберите его.
– или –
Выберите Новое подключение для открытия диалогового окна Добавить/изменить подключение. Дополнительные сведения см. в разделе Диалоговое окно "Добавить/Изменить подключение" (вкладка "Общие").
Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и щелкните Далее.
Щелкните Далее на странице Сохранить строку подключения в файле конфигурации приложения.
Разверните узел Таблицы на странице Выбор объектов базы данных.
Выберите таблицу Order Details и щелкните Готово.
NorthwindDataSet добавляется к проекту, и таблица OrderDetails появляется в окне Источники данных.
Создание элементов управления с привязкой данных
Чтобы создать элементы управления с привязкой к данным на форме
В окне Источники данных выберите таблицу OrderDetails.
Выберите Details из списка элементов управления таблицы.
Перетащите узел OrderDetails из окна Источники данных на форму Form1.
Элементы управления с привязкой к данным с подписями описания появятся на форме вместе с панелью инструментов (BindingNavigator) для управления записями. Элементы управления с привязкой к данным с подписями описания появятся на форме вместе с панелью инструментов (BindingNavigator) для управления записями. NorthwindDataSet, OrderDetailsTableAdapter, BindingSource и BindingNavigator появляются в области компонентов.
Добавление элемента управления ErrorProvider на форму
Чтобы настроить элемент управления ErrorProvider
Перетащите элемент ErrorProvider из Панели элементов на форму Form1.
В окне Свойства задайте свойство элемента ErrorProvider DataSource в OrderDetailsBindingSource.
Примечание
Не устанавливайте свойство DataMember.
Создание обработчика событий ColumnChanging
Для создания проверочных обработчиков событий
Откройте набор данных NorthwindDataSet в окне Конструктор наборов данных, дважды щелкнув файл NorthwindDataSet.xsd в обозревателе решений.
Дважды щелкните по столбцу Quantity в таблице OrderDetails для создания обработчика событий OrderDetailsDataTable_ColumnChanging. (В C# будет создан только частичный класс таблицы данных.)
Примечание
Двойной щелчок имени таблицы (OrderDetails в строке заголовка) приведет к созданию обработчика событий RowChanging.
Добавьте код, чтобы удостовериться, что в e.ProposedValue содержатся значения больше 0. Если предложенное значение равно 0 или меньше, отметьте столбец как содержащий ошибки.
Вставьте следующий код в обработчик событий изменения столбца ниже комментария Добавьте здесь пользовательский код:
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
// C# // Add the following code // to the partial class. 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", ""); } }
Тестирование приложения
Тестирование приложения
Нажмите клавишу F5 для запуска приложения.
Измените значение в поле Количество на 0.
Нажмите клавишу TAB, чтобы убрать фокус из текстового поля.
Появляется значок ошибки поставщика.
Чтобы просмотреть сообщение, поместите указатель мыши над ошибкой поставщика.
Следующие действия
В зависимости от требований приложения есть несколько шагов, которые могут потребоваться после добавления проверки. Ниже приводится перечень рекомендаций, позволяющих улучшить полученный результат.
Добавление возможности отправки обновлений обратно в базу данных. Дополнительные сведения см. в разделе Пошаговое руководство. Сохранение данных в базе данных (одна таблица).
Редактирование набора данных для добавления или удаления объектов базы данных. Дополнительные сведения см. в разделе Практическое руководство. Редактирование набора данных.
См. также
Основные понятия
Новые возможности разработки приложений для работы с данными
Привязка элементов управления Windows Forms к данным в Visual Studio
Привязка элементов управления к данным в Visual Studio
Другие ресурсы
Пошаговые руководства работы с данными
Подключение к данным в Visual Studio
Подготовка приложения к получению данных