Пошаговое руководство. Отображение данных в элементе управления DataRepeater (Visual Studio)
Это пошаговое руководство предоставляет базовое руководство по отображению связанных данных в элементе управления DataRepeater от начала до конца.
Необходимый компонент
В данном пошаговом руководстве требуется доступ к учебной базе данных Northwind.
При отсутствии этой базы на компьютере разработчика ее можно загрузить с веб-узла Центр загрузки Майкрософт.Подробные инструкции см. в разделе Downloading Sample Databases (LINQ to SQL).
Общие сведения
Первая часть данного пошагового руководства состоит из четырех основных задач:
создание решения;
добавление элемента управления DataRepeater;
добавление источника данных;
добавление элементов управления с привязкой к данным.
Примечание |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Создание решения DataRepeater
На первом шаге создаются проект и решение.
Создание решения DataRepeater
В меню Visual Studio Файл выберите пункт Новый проект.
В области Типы проектов диалогового окна Новый проект разверните узел Visual Basic, а затем щелкните Windows.
Нажмите Приложение Windows Forms в области Шаблоны.
В поле Имя введите DataRepeaterApp.
Нажмите кнопку ОК.
Откроется конструктор Windows Forms.
В конструкторе Windows Forms выберите форму.В окне Свойства присвойте свойству Размер значение 800, 700.
Добавление элемента управления DataRepeater
На данном этапе в форму добавляется элемент управления DataRepeater.
Чтобы добавить элемент управления DataRepeater
В меню Вид выберите пункт Панель элементов.
Откроется Панель элементов.
Выберите вкладку Visual Basic PowerPacks.
Перетащите элемент управления DataRepeater в Form1.
В окне "Свойства" установите для свойства Размещение значение 0, 25.
Установите значение свойства Size равным 460, 600.
Добавление источника данных
На этом шаге добавляется источник данных для элемента управления DataRepeater.
Чтобы добавить источник данных
В меню Данные выберите пункт Показать источники данных.
В окне Источники данных выберите Добавить новый источник данных.
На странице Выбор типа источника данных выберите элемент База данных и нажмите Далее.
На странице Выбор подключения к базе данных выполните одно из следующих действий:
Если подключение к демонстрационной базе данных Northwind доступно в раскрывающемся списке, выберите его.
-или-
Выберите пункт Новое подключения для создания нового подключения к данным.Дополнительные сведения см. в разделе How to: Create Connections to SQL Server Databases.
Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку Далее.
Примечание Если появится диалоговое окно, нажмите кнопку Да, чтобы сохранить файл в проекте.
Щелкните Далее на странице Сохранить строку подключения в файле конфигурации приложения.
Раскройте узел Таблицы на странице Выбор объектов базы данных.
Выберите следующие флажки для таблиц Customers и Orders и нажмите кнопку Готово.
NorthwindDataSet добавляется в проект, и таблицы Клиенты и Заказы отображаются в окне Источники данных.
Добавление элементов управления с привязкой к данным
На этом шаге добавляются элементы управления с привязкой к данным DataRepeater.
Чтобы добавить элементы управления с привязкой к данным
В окне Источники данных, выберите узел верхнего уровня в таблице Customers.
Измените тип переноса таблицы на Сведения, выбрав Сведения из раскрывающегося списка узла таблицы.
Выберите узел таблицы Customers и перетащите его в область шаблона элемента (верхняя область) элемента управления DataRepeater.
Элемент управления BindingNavigator добавляется в форму, а компоненты NorthwindDataSet, CustomersBindingSource, CustomersTableAdapter, TableAdapterManager и CustomersBindingNavigator добавляются в "Область компонентов".
Выберите все поля и их связанные метки и разместите их в левом углу области шаблона элемента.
Выберите последние пять полей (Область, Почтовый индекс, Страна, Телефон и Факс) и их связанные метки и поместите их выше и правее первых шести полей.
Выберите шаблон элемента (верхняя область элемента управления).
В окне "Свойства" присвойте свойству Размер значение 427, 170.
На этом этапе имеется рабочее приложение, которое будет отображать список клиентов.Можно нажать F5, чтобы запустить приложение, изменить данные и добавить или удалить записи клиентов.
Следующим необязательным этапом является изучение настроек элемента управления DataRepeater.
Последующие шаги (Необязательные)
Эта часть данного пошагового руководства состоит из четырех дополнительных задач:
Изменение внешнего вида элемента управления DataRepeater.
Запрет на добавление или удаление записей пользователем.
Добавление возможностей поиска в элемент управления DataRepeater.
Добавление главной таблицы и таблицы сведений в элемент управления DataRepeater.
Изменение внешнего вида элемента управления DataRepeater.
На данном необязательном этапе изменяется цвет BackColor элемента управления DataRepeater на этапе разработки.Также можно добавить код для отображения столбцов в других цветах и изменения состояния ForeColor метки.
Чтобы изменить внешний вида элемента управления
В конструкторе Windows Forms выберите главную область (внизу) управляющего элемента DataRepeater.
В окне "Свойства" присвойте свойству BackColor значение "белый".
Дважды щелкните DataRepeater, чтобы открыть редактор кода.
В редакторе кода в раскрывающемся списке "Событие" выберите DrawItem.
В обработчик событий DrawItem добавьте следующий код для изменения BackColor:
' Alternate the back color. If (e.DataRepeaterItem.ItemIndex Mod 2) <> 0 Then ' Apply the secondary back color. e.DataRepeaterItem.BackColor = Color.AliceBlue Else ' Apply the default back color. e.DataRepeaterItem.BackColor = DataRepeater1.BackColor End If
// Alternate the back color. if ((e.DataRepeaterItem.ItemIndex % 2) != 0) // Apply the secondary back color. { e.DataRepeaterItem.BackColor = Color.AliceBlue; } else { // Apply the default back color. e.DataRepeaterItem.BackColor = dataRepeater1.BackColor; }
В обработчик событий DrawItem, добавьте следующий код для изменения ForeColor метки в зависимости от условий:
If e.DataRepeaterItem.Controls(RegionTextBox.Name).Text = "" Then e.DataRepeaterItem.Controls("RegionLabel"). ForeColor = Color.Red Else e.DataRepeaterItem.Controls("RegionLabel"). ForeColor = Color.Black End If
if (e.DataRepeaterItem.Controls[regionTextBox.Name].Text == "") { e.DataRepeaterItem.Controls["regionLabel"].ForeColor = Color.Red; } else { e.DataRepeaterItem.Controls["regionLabel"].ForeColor = Color.Black; }
Нажмите клавишу F5 для запуска приложения и посмотрите настройки.
Запрет на добавление или удаление записей пользователями
На этом необязательном этапе добавляется код, запрещающий пользователям добавлять или удалять записи в элемент управления DataRepeater.
Чтобы запретить пользователям добавление или удаление записей
В конструкторе Windows Forms, дважды щелкните форму, чтобы открыть редактор кода.
Добавьте следующий код в событие Form_Load:
DataRepeater1.AllowUserToAddItems = False DataRepeater1.AllowUserToDeleteItems = False BindingNavigatorAddNewItem.Enabled = False CustomersBindingSource.AllowNew = False BindingNavigatorDeleteItem.Enabled = False
dataRepeater1.AllowUserToAddItems = false; dataRepeater1.AllowUserToDeleteItems = false; bindingNavigatorAddNewItem.Enabled = false; customersBindingSource.AllowNew = false; bindingNavigatorDeleteItem.Enabled = false;
В выпадающем списке "Имя класса", выберите BindingNavigatorDeleteItem.В выпадающем списке "Имя метода", выберите EnabledChanged.
В обработчик событий BindingNavigatorDeleteItem_EnabledChanged добавьте следующий код:
If BindingNavigatorDeleteItem.Enabled = True Then BindingNavigatorDeleteItem.Enabled = False End If
if (bindingNavigatorDeleteItem.Enabled == true) { bindingNavigatorDeleteItem.Enabled = false; }
Примечание Это шаг является необходимым, поскольку BindingSource включает кнопку DeleteItem каждый раз при изменении текущей записи.
Нажмите клавишу F5 для запуска приложения.Заметьте, что кнопка DeleteItem дезактивирована и нельзя удалить элемент, нажав DELETE.
Добавление возможностей поиска в элемент управления DataRepeater
На этом необязательном шаге реализуется возможность поиска значений в элементе управления DataRepeater.Если строка поиска найдена, управляющий элемент выделяет элемент, который ее содержит и проматывает полосу прокрутки до изображения элемента.
Чтобы добавить операцию поиска
Перетащите элемент управления TextBox из панели элементов в форму, содержащую элемент управления DataRepeater.
Расположите его под элементом управления DataRepeater.
В окне "Свойства" измените свойство Имя на SearchTextBox.
Перетащите элемент управления Button из панели элементов в форму, содержащую элемент управления DataRepeater.Расположите его под элементом управления DataRepeater.
В окне "Свойства" измените свойство Имя на SearchButton.Задайте для свойства Текст значение "Поиск".
Дважды щелкните элемент управления Button, чтобы открыть редактор кода, и введите следующий код в обработчик событий SearchButton_Click:
Dim foundIndex As Integer Dim searchString As String searchString = SearchTextBox.Text ' Search for the string in the CustomerID field. foundIndex = CustomersBindingSource.Find("CustomerID", searchString) If foundIndex > -1 Then DataRepeater1.CurrentItemIndex = foundIndex Else MsgBox("Item " & searchString & " not found.") End If
int foundIndex; string searchString; searchString = searchTextBox.Text; // Search for the string in the CustomerID field. foundIndex = customersBindingSource.Find("CustomerID", searchString); if (foundIndex > -1) { dataRepeater1.CurrentItemIndex = foundIndex; } else { MessageBox.Show("Item " + searchString + " not found."); }
Нажмите клавишу F5 для запуска приложения.Наберите идентификатор пользователя в поле SearchTextBox и нажмите кнопку Поиск.
Добавление главной таблицы и таблицы сведений в элемент управления DataRepeater
На данном необязательном этапе добавляется второй элемент управления DataRepeater для отображения связанных с клиентом заказов для каждого клиента.
Чтобы добавить главную таблицу и таблицу сведений
Перетащите второй элемент управления DataRepeater из вкладки Visual Basic PowerPacks в панели элементов на форму.
В окне "Свойства" установите для свойства Размещение значение 465, 25.
Установите значение свойства Size равным 315, 600.
В окне Источники данных разверните узел таблицы Customers и выберите дочерний узел Orders.
Измените тип переноса таблицы Orders на "Сведения", выбрав Сведения из раскрывающегося списка узла таблицы.
Перетащите узел таблицы Orders в область шаблона элемента (верхняя область) второго элемента управления DataRepeater.
Компонент OrdersBindingSource и компонент OrdersTableAdapter добавлены в область компонентов.
Нажмите клавишу F5 для запуска приложения.При выборе каждого клиента в первом элементе управления DataRepeater, заказы для этого клиента отображаются во втором элементе управления DataRepeater.
См. также
Задачи
Практическое руководство. Изменение структуры элемента управления DataRepeater (Visual Studio)
Практическое руководство. Поиск данных в элементе управления DataRepeater (Visual Studio)
Практическое руководство. Изменение внешнего вида элемента управления DataRepeater (Visual Studio)
Устранение неполадок при использовании элемента управления DataRepeater (Visual Studio)
Основные понятия
Общие сведения об элементе управления DataRepeater (Visual Studio)