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


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

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

Применение. Сведения этого раздела применяются к проектам уровня документа для Excel 2013 и Excel 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

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

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

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

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

ПримечаниеПримечание

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

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

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

-

Выпуск Visual Studio 2012, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в разделе [Настройка компьютера для разработки решений Office](bb398242\(v=vs.110\).md).
  • Excel 2013 или Excel 2010. 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Убедитесь, что книга Мои сложные данные Binding.xlsx открыта в конструкторе Visual Studio, и отображается Лист1.

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

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

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

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

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

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

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

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

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

Добавьте текст к кнопке в обработчике событий 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. Добавьте в пустую строку следующие данные:

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

    LastName

    FirstName

    Заголовок

    10

    Егоров

    Вадим

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Задачи

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

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

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

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