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


Пошаговое руководство. Сложная привязка данных в проекте уровня документа

Обновлен: Ноябрь 2007

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

Версия Microsoft Office

  • Excel 2007

  • Excel 2003

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

В этом пошаговом руководстве демонстрируются основные сведения о сложной привязке данных в проекте уровня документа. Можно связывать множество ячеек в листе Microsoft Office Excel с полями в базе данных Northwind SQL Server.

В данном пошаговом руководстве представлены следующие задачи:

  • Добавление источника данных к проекту книги.

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

  • Сохранение измененных данных обратно в базу данных.

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

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

Обязательные компоненты

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

  • Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System).

  • Microsoft Office Excel 2003 или Microsoft Office Excel 2007.

  • Доступ к серверу с примером базы данных "Northwind" SQL Server.

  • Разрешения на чтение из базы данных SQL Server и запись в нее.

Создание нового проекта

На первом этапе необходимо создать проект книги Excel.

Создание нового проекта

  • Создайте проект книги Excel с именем Сложная привязка данных. В мастере выберите Создать новый документ.

    Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Visual Studio Tools for Office.

    Созданная книга Excel будет открыта в конструкторе Visual Studio. Проект Сложная привязка данных добавляется в обозреватель решений.

Создание источника данных

Чтобы добавить типизированный набор данных в проект, следует использовать окно Источники данных.

Создание источника данных

  1. Если окно Источники данных не отображается, выберите в меню Данные команду Показать источники данных.

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

    Если команда Показать источники данных недоступна, нажмите кнопку мыши внутри книги Excel и попробуйте снова.

  2. Щелкните Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.

  3. Выберите База данных и нажмите Далее.

  4. Выберите подключение данных к учебной базе данных SQL Server "Northwind" или добавьте новое подключение с помощью кнопки Новое подключение.

  5. После выбора или создания подключения нажмите кнопку Далее.

  6. Чтобы сохранить подключение, снимите флажок, если он установлен, и нажмите Далее.

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

  8. Установите флажок рядом с таблицей Сотрудники.

  9. Нажмите кнопку Готово.

Мастер добавит таблицу Сотрудники в окно Источники данных. Также к проекту добавляется типизированный набор данных, который отображается в обозревателе решений.

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

Если книга открыта, на листе отобразится таблица Сотрудники. Пользователи смогут изменять данные и сохранять изменения в базе данных, нажимая кнопку.

Чтобы автоматически привязать лист к таблице, можно добавить на лист элемент управления ListObject из окна Источники данных. Чтобы разрешить пользователям сохранять изменения, нужно добавить элемент управления Button с панели элементов.

Добавление объекта списка

  1. Следует удостовериться в том, что книга Сложная привязка данных.xls открыта в конструкторе Visual Studio, и отображается Лист1.

  2. Откройте окно Источники данных и выберите узел Сотрудники.

  3. Щелкните стрелку раскрывающегося списка, которая появляется после выбора элемента.

  4. Выберите в раскрывающемся списке ListObject.

  5. Перетащите таблицу Сотрудники в ячейку А6.

    В ячейке А6 будет создан элемент управления ListObject с именем EmployeesListObject. Одновременно в проект будет добавлен элемент управления BindingSource с именем EmployeesBindingSource, адаптер таблиц и экземпляр DataSet. Элемент управления связан с объектом BindingSource, который, в свою очередь, связан с экземпляром DataSet.

Добавление кнопки

  • Добавьте в ячейку A4 на листе элемент управления Button со вкладки Стандартные элементы управления в панели элементов.

Следующим шагом будет добавление текста к кнопке при открытии листа.

Инициализация элемента управления

Добавьте текст к кнопке в обработчике событий Startup.

Инициализация элемента управления

  1. В обозревателе решений щелкните правой кнопкой мыши Лист1.vb или Лист1.cs и выберите в контекстном меню команду Перейти к коду.

  2. Добавьте следующий код в метод Sheet1_Startup, чтобы задать текст для кнопки button:

    Me.Button1.Text = "Save"
    
    this.button1.Text = "Save";
    
  3. Добавьте обработчик событий для события Click в метод Sheet1_Startup (только в C#).

    this.button1.Click += new EventHandler(button1_Click);
    

Теперь добавьте код, обрабатывающий событие кнопки Click.

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

Любые изменения данных существуют только в локальном наборе данных до тех пор, пока они не будут явным образом сохранены обратно в базу данных.

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

  • Добавьте обработчик событий для события Click кнопки button, а затем добавьте следующий код, чтобы зафиксировать изменения в наборе данных в базе данных:

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        Try
            Me.EmployeesTableAdapter.Update(Me.NorthwindDataSet.Employees)
    
        Catch ex As System.Data.DataException
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    
    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            this.employeesTableAdapter.Update(this.northwindDataSet.Employees);
        }
        catch (System.Data.DataException ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

Чтобы проверить работу приложения

Теперь можно приступить к тестированию книги, чтобы проверить корректность отображения данных, а также возможность оперировать данными в объекте списка.

Тестирование привязки данных

  • Нажмите клавишу F5.

    При открытии книги необходимо убедиться, что объект списка заполнен данными из таблицы Сотрудники.

Изменение данных

  1. Щелкните ячейку B7, в которой должна стоять фамилия Даволио.

  2. Введите фамилию Куликов и нажмите клавишу ВВОД.

Изменение заголовка столбца

  1. Щелкните ячейку, в которой содержится заголовок столбца Фамилия.

  2. Введите Фамилия сотрудника с пробелом между двумя словами и нажмите клавишу ВВОД.

Сохранение данных

  1. На листе выберите пункт Сохранить.

  2. Закройте приложение Excel. Когда отобразится окно с запросом о сохранении изменений, нажмите кнопку Нет.

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

    Объект списка заполняется данными из таблицы Сотрудники.

  4. Обратите внимание, что в ячейке B7 осталась фамилия Куликов — это изменение, которое было сохранено в базе данных. Заголовок столбца Фамилия был воссоздан в исходном виде, поскольку заголовок столбца не привязан к базе данных, и изменения на листе не были сохранены.

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

  1. Выберите ячейку в объекте списка.

    В нижней части списка появляется новая строка со звездочкой (*) в первой ячейке.

  2. Добавьте в пустую строку следующие данные:

    КодСотрудника

    Фамилия

    Имя

    Должность

    10

    Егоров

    Вадим

    Менеджер по продажам

Удаление строк

  • Щелкните правой кнопкой мыши номер 16 (строку 16) с самого левого края листа и выберите команду Удалить.

Сортировка строк в списке

  1. Выберите ячейку в списке.

    В заголовке каждого столбца появятся кнопки со стрелками.

  2. Нажмите кнопку со стрелкой в заголовке столбца LastName.

  3. Выберите пункт Сортировка по возрастанию.

    Строки будут отсортированы в алфавитном порядке по фамилии.

Фильтр данных

  1. Выберите ячейку в списке.

  2. Нажмите кнопку со стрелкой в заголовке столбца Title.

  3. Выберите пункт Торговый представитель.

    В списке будут оставлены только те строки, в которых в столбце Заголовок стоит текст Торговый представитель.

  4. Снова нажмите кнопку со стрелкой в заголовке столбца Title.

  5. Выберите (Все).

    Фильтр удаляется и отображаются все строки.

Следующие действия

Данное пошаговое руководство демонстрирует основы привязки таблицы в базе данных к объекту списка. Вот некоторые задачи, которые могут возникать впоследствии:

См. также

Задачи

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

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

Привязка данных к элементам управления

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

Данные в решения Microsoft Office