* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Работа с мастером Data Form
8 февраля 2009
В Visual Studio .NET имеется мастер Data Form. Он упрощает создание форм, предназначенных для просмотра и обновления данных. Сейчас вы с помощью мастера Data Form создадите две формы для просмотра и об- новления содержимого БД.
> Создание форм для отображения данных 1. Выберите в меню Project команду Add New Item — откроется диалоговое окно Add New Item, 2. Выберите мастер Data Form, назовите новую форму Customers Orders, vb или CustomersOrders.es и щелкните кнопку Open — запустится мастер Data Form. 3. Щелкните кнопку Next. 4. Выберите объект DataSet, который вы хотите использовать в качестве источника данных для формы. Можно создать новый объект DataSet либо воспользоваться существующим, созданным в предыдущем упражнении. Во втором случае выбе- рите dsDoughnut и щелкните кнопку Next. 5. Мастер автоматически генерирует методы для заполнения и обновления фор- мы, если не указано обратное. Установите флажок Update Button, значения оста- льных двух раскрывающихся списков оставьте без изменений. Щелкните кноп- ку Next. 6. Выберите таблицы и поля, которые должна отображать данная форма. В списке таблиц Master or Single выберите таблицу Customers, а в списке Detail — таблицу Orders. Заметьте: ниже отображаются списки полей выбранных таблиц, в кото- рых можно задать поля для размещения на форме. Убедитесь, что в каждом спис- ке указаны все поля, и щелкните кнопку Next. 7. На последней странице мастера можно выбрать способ отображения полей. Раз- решается отображать значения записи в элементе управления DataGrid либо в наборе отдельных полей. Если задан второй вариант, мастер Data Form позволя- ет добавить дополнительные элементы управления для перемещения между за- писями. Укажите отображение записи в наборе отдельных элементов управле- ния. Убедитесь, что выбраны все дополнительные элементы управления, и щел- кните кнопку Finish, чтобы завершить создание формы CustomersOrders, пред- назначенных для отображения данных. 8. Повторите пункты 1—7, выбрав к списке таблицы Master таблицу Orders, а таб- лицу Items — в качестве таблицы с подробными данными. Назовите новую фор- му Ordersltems.vl) или OrdersTtems.cs. 9. В окне Solution Explorer щелкните правой кнопкой форму Form2 и затем щелк- ните команду View Designer — форма Form2 откроется в окне дизайнера. 10. С панели Toolbox перетащите на форму две кнопки, назовите их btnViewCustomers и btnViewOrders и установите их свойства text соответственно в «View Customers » и «View Orders». 11.Дважды щелкните элемент управления btnViewCustomers, чтобы открыть обра- ботчик события btnViewCustomers.Click, и поместите в него следующий код: Visual Basic .NET Dim myCustomersQrders As New CustomersOrders() myCustornersQrders. Show() Visual C# CustomersOrders myCustomersQrders = new CustomersQrdersO; myCustornersQrders.ShowO; 12. Создайте аналогичный метод, отображающий форму Ordersltems по щелчку кнопки btnViewOrders. 13. Сохраните результаты работы и скомпонуйте проект. ^ Как подключить к БД форму для отображения данных Мастер Data Form генерирует для приложения «скелет» инфраструктуры доступа к данным и добавляет код для перемещения между записями. Тем не менее вам по- требуется самостоятельно заполнить объект DataSei данными, чтобы получить воз- можность просмотра содержимого БД. Сейчас вы добавите к формам адаптеры дан- ных, управляющие заполнением объекта DataSet и обновлением БД. 1. В окне Solution Explorer щелкните правой кнопкой форму CustomersOrders> и вы- берите команду View Designer — откроется окно дизайнера. 2. Перетащите таблицу Customers из окна Server Explorer в окно дизайнера — к форме будут добавлены новые объекты OleDbDataConnection и OleDbDataAdapter. 3. Перетащите из окна Server Explorer в окно дизайнера таблицы Orders и Items. Обратите внимание, что для каждой таблицы добавляется объект OfeDfiData- Adapter, но дополнительные соединения не создаются, 4. Переименуйте добавленные компоненты, как указано в таблице 6-11, Таблица 6-11. Имена объектов для доступа к данным Исходное имя Новое имя OleDbDataConnection I (OleDbDataConnection 1) dc Doughnut OleDbDataAdapter} (oleDbDataAdapter1) daCustomers OleDbDataAdapter2 (oleDbDataAdapter2) daOrders OleDbDataAdapterS (oleDbDataAdapterS) daltems 5. В окне дизайнера дважды щелкните кнопку Load, чтобы открыть обработчик со- бытия binLoad.Click, и добавьте в него код, заполняющий объект DataSet, Visual Basic .NET Объекты-адаптеры данных заполняют набор данных dsDoughnut, сгенерированный мастером Data Form. daCustomers.Fill(objdsDoughnut) daOrders.Fill(objdsDoughnut) daltems. Fill(objdsDoijghnut) Visual C# // Объекты-адаптеры данных заполняют набор данных dsDoughnut, // сгенерированный мастером Data Form. daCustomers.Fi11(objdsDoughnut); daOrders.Fill(objdsDoughnur); daltems.Fill(objdsDoughnut); 6. В окне Solution Explorer щелкните правой кнопкой форму CustomersOrders и вы- берите команду View Designer — откроется окно дизайнера. Дважды щелкните кнопку Update, чтобы открыть обработчик события btnUpdate.Click, и поместите в него следующий фрагмент кода: Visual Basic .NET ' Адаптеры данных обновляют БД данными модифицированными записей, daCustomers.Update(objdsDoughnut) daOrders.Update(objdsDoughnut) daltems. Update (objdsDoug limit) Visual C# // Адаптеры данных обновляют БД данными модифицированными записей. daCustomers.Update(objusDoughnut); daOrders.Update(ot)jdsDoughnut)-; daltems.Update(objdsDoughnut); Повторите пункты 1—6 для страниц Ordersltems. Сохраните проект и протестируйте его.