Поделиться через


Пошаговое руководство. Отображение данных в элементе управления DataRepeater (Visual Studio)

Обновлен: Июль 2008

Это пошаговое руководство предоставляет базовое руководство по отображению связанных данных в элементе управления DataRepeater от начала до конца.

Необходимый компонент

В данном пошаговом руководстве требуется доступ к учебной базе данных Northwind.

При отсутствии этой базы на компьютере разработчика ее можно загрузить с веб-узла Центр загрузки Майкрософт. Подробные инструкции см. в разделе Загрузка образцов баз данных (LINQ to SQL).

Общие сведения

Первая часть данного пошагового руководства состоит из четырех основных задач:

  • создание решения;

  • добавление элемента управления DataRepeater;

  • добавление источника данных;

  • добавление элементов управления с привязкой к данным.

Cc488278.alert_note(ru-ru,VS.90).gifПримечание.

На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Создание решения DataRepeater

На первом шаге создаются проект и решение.

Создание решения DataRepeater

  1. В меню Visual Studio Файл выберите пункт Создать проект.

  2. В области Типы проектов диалогового окна Создать проект разверните узел Visual Basic, а затем щелкните Windows.

  3. Нажмите Приложение Windows Forms в области Шаблоны.

  4. В поле Имя введите DataRepeaterApp.

  5. Нажмите кнопку ОК.

    Откроется конструктор Windows Forms.

  6. В конструкторе Windows Forms выберите форму. В окне Свойства присвойте свойству Размер значение 800, 700.

Добавление элемента управления DataRepeater

На данном этапе в форму добавляется элемент управления DataRepeater.

Чтобы добавить элемент управления DataRepeater

  1. В меню Вид выберите пункт Панель элементов.

    Откроется Панель элементов.

  2. Выберите вкладку Visual Basic PowerPacks.

  3. Перетащите элемент управления DataRepeater в Form1.

  4. В окне "Свойства" установите для свойства Размещение значение 0, 25.

  5. Установите значение свойства Size равным 460, 600.

Добавление источника данных

На этом шаге добавляется источник данных для элемента управления DataRepeater.

Чтобы добавить источник данных

  1. В меню Данные выберите пункт Показать источники данных.

  2. В окне Источники данных выберите Добавить новый источник данных.

  3. На странице Выбор типа источника данных выберите элемент База данных и нажмите Далее.

  4. На странице Выбор подключения к базе данных выполните одно из следующих действий:

  5. Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку Далее.

    Cc488278.alert_note(ru-ru,VS.90).gifПримечание.

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

  6. Щелкните Далее на странице Сохранить строку подключения в файле конфигурации приложения.

  7. Раскройте узел Таблицы на странице Выбор объектов базы данных.

  8. Выберите следующие флажки для таблиц Customers и Orders и нажмите кнопку Готово.

    NorthwindDataSet добавляется в проект, и таблицы Клиенты и Заказы отображаются в окне Источники данных.

Добавление элементов управления с привязкой к данным

На этом шаге добавляются элементы управления с привязкой к данным DataRepeater.

Чтобы добавить элементы управления с привязкой к данным

  1. В окне Источники данных, выберите узел верхнего уровня в таблице Customers.

  2. Измените тип переноса таблицы на Сведения, выбрав Сведения из раскрывающегося списка узла таблицы.

  3. Выберите узел таблицы Customers и перетащите его в область шаблона элемента (верхняя область) элемента управления DataRepeater.

    Элемент управления BindingNavigator добавляется в форму, а компоненты NorthwindDataSet, CustomersBindingSource, CustomersTableAdapter, TableAdapterManager и CustomersBindingNavigator добавляются в "Область компонентов".

  4. Выберите все поля и их связанные метки и разместите их в левом углу области шаблона элемента.

  5. Выберите последние пять полей (Область, Почтовый индекс, Страна, Телефон и Факс) и их связанные метки и поместите их выше и правее первых шести полей.

  6. Выберите шаблон элемента (верхняя область элемента управления).

  7. В окне "Свойства" присвойте свойству Размер значение 427, 170.

На этом этапе имеется рабочее приложение, которое будет отображать список клиентов. Можно нажать F5, чтобы запустить приложение, изменить данные и добавить или удалить записи клиентов.

Следующим необязательным этапом является изучение настроек элемента управления DataRepeater.

Последующие шаги (Необязательные)

Эта часть данного пошагового руководства состоит из четырех дополнительных задач:

  • Изменение внешнего вида элемента управления DataRepeater.

  • Запрет на добавление или удаление записей пользователем.

  • Добавление возможностей поиска в элемент управления DataRepeater.

  • Добавление главной таблицы и таблицы сведений в элемент управления DataRepeater.

Изменение внешнего вида элемента управления DataRepeater.

На данном необязательном этапе изменяется цвет BackColor элемента управления DataRepeater на этапе разработки. Также можно добавить код для отображения столбцов в других цветах и изменения состояния ForeColor метки.

Чтобы изменить внешний вида элемента управления

  1. В конструкторе Windows Forms выберите главную область (внизу) управляющего элемента DataRepeater.

  2. В окне "Свойства" присвойте свойству BackColor значение "белый".

  3. Дважды щелкните DataRepeater, чтобы открыть редактор кода.

  4. В редакторе кода в раскрывающемся списке "Событие" выберите DrawItem.

  5. В обработчик событий 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;
    }
    
  6. В обработчик событий 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;
    }
    
  7. Нажмите клавишу F5 для запуска приложения и посмотрите настройки.

Запрет на добавление или удаление записей пользователями

На этом необязательном этапе добавляется код, запрещающий пользователям добавлять или удалять записи в элемент управления DataRepeater.

Чтобы запретить пользователям добавление или удаление записей

  1. В конструкторе Windows Forms, дважды щелкните форму, чтобы открыть редактор кода.

  2. Добавьте следующий код в событие 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;
    
  3. В выпадающем списке "Имя класса", выберите BindingNavigatorDeleteItem. В выпадающем списке "Имя метода", выберите EnabledChanged.

  4. В обработчик событий BindingNavigatorDeleteItem_EnabledChanged добавьте следующий код:

    If BindingNavigatorDeleteItem.Enabled = True Then
        BindingNavigatorDeleteItem.Enabled = False
    End If
    
    if (bindingNavigatorDeleteItem.Enabled == true)
    {
        bindingNavigatorDeleteItem.Enabled = false;
    }
    
    Cc488278.alert_note(ru-ru,VS.90).gifПримечание.

    Это шаг является необходимым, поскольку BindingSource включает кнопку DeleteItem каждый раз при изменении текущей записи.

  5. Нажмите клавишу F5, чтобы запустить приложение. Заметьте, что кнопка DeleteItem дезактивирована и нельзя удалить элемент, нажав DELETE.

Добавление возможностей поиска в элемент управления DataRepeater

На этом необязательном шаге реализуется возможность поиска значений в элементе управления DataRepeater. Если строка поиска найдена, управляющий элемент выделяет элемент, который ее содержит и проматывает полосу прокрутки до изображения элемента.

Чтобы добавить операцию поиска

  1. Перетащите элемент управления TextBox из Панели элементов в форму, содержащую элемент управления DataRepeater.

    Расположите его под элементом управления DataRepeater.

  2. В окне "Свойства" измените свойство Имя на SearchTextBox.

  3. Перетащите элемент управления Button из Панели элементов в форму, содержащую элемент управления DataRepeater. Расположите его под элементом управления DataRepeater.

  4. В окне "Свойства" измените свойство Имя на SearchButton. Задайте для свойства Текст значение Поиск.

  5. Дважды щелкните элемент управления 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.");
    }
    
  6. Нажмите клавишу F5, чтобы запустить приложение. Наберите идентификатор пользователя в поле SearchTextBox и нажмите кнопку Поиск.

Добавление главной таблицы и таблицы сведений в элемент управления DataRepeater

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

Чтобы добавить главную таблицу и таблицу сведений

  1. Перетащите второй элемент управления DataRepeater из вкладки Visual Basic PowerPacks в Панели элементов на форму.

  2. В окне "Свойства" установите для свойства Размещение значение 465, 25.

  3. Установите значение свойства Size равным 315, 600.

  4. В окне Источники данных разверните узел таблицы Customers и выберите дочерний узел Orders.

  5. Измените тип переноса таблицы Orders на "Сведения", выбрав Сведения из раскрывающегося списка узла таблицы.

  6. Перетащите узел таблицы Orders в область шаблона элемента (верхняя область) второго элемента управления DataRepeater.

    Компонент OrdersBindingSource и компонент OrdersTableAdapter добавлены в область компонентов.

  7. Нажмите клавишу F5, чтобы запустить приложение. При выборе каждого клиента в первом элементе управления DataRepeater, заказы для этого клиента отображаются во втором элементе управления DataRepeater.

См. также

Задачи

Пошаговое руководство. Отображение связанных данных в элементе управления DataRepeater (Visual Studio)

Пошаговое руководство. Отображение несвязанных данных в элементе управления DataRepeater (Visual Studio)

Практическое руководство. Изменение структуры элемента управления DataRepeater (Visual Studio)

Пошаговое руководство. Отображение заголовков элементов в элементе управления DataRepeater (Visual Studio)

Практическое руководство. Поиск данных в элементе управления DataRepeater (Visual Studio)

Практическое руководство. Создание главного и подчиненного представлений данных с использованием двух элементов управления DataRepeater (Visual Studio)

Практическое руководство. Изменение внешнего вида элемента управления DataRepeater (Visual Studio)

Пошаговое руководство. Запрещение возможности добавления и удаления элементов DataRepeater (Visual Studio)

Устранение неполадок при использовании элемента управления DataRepeater (Visual Studio)

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

Общие сведения об элементе управления DataRepeater (Visual Studio)

Журнал изменений

Дата

Журнал изменений

Причина

Июль 2008

Добавлен раздел.

Изменение функции SP1.