Пошаговое руководство. Сложная привязка данных в проекте уровня документа
В этом пошаговом руководстве демонстрируются основные сведения о сложной привязке данных в проекте уровня документа.Можно связывать множество ячеек в листе 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. Проект "Сложная привязка данных" добавляется в Обозреватель решений.
Создание источника данных
Чтобы добавить типизированный набор данных в проект, следует использовать окно Источники данных.
Создание источника данных
Если окно Источники данных не отображается, его отображение в строке меню, выбирая Вид, Другие окна, Источники данных.
Выберите Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.
Выберите База данных и нажмите Далее.
Выберите подключение к базе данных SQL Server "Northwind" или добавьте новое подключение с помощью кнопки Новое подключение.
После выбора или создания подключения нажмите Далее.
Чтобы сохранить подключение, снимите флажок, если он установлен, и нажмите Далее.
В окне Объекты базы данных разверните узел Таблицы.
Установите флажок рядом с таблицей Сотрудники.
Нажмите кнопку Готово.
Мастер добавит таблицу Сотрудники в окно Источники данных.Также к проекту добавляется типизированный набор данных, который отображается в Обозревателе решений.
Добавление элементов управления на лист
Если книга открыта, на листе отобразится таблица Сотрудники.Пользователи смогут изменять данные и сохранять изменения в базе данных, нажимая кнопку.
Чтобы автоматически привязать лист к таблице, можно добавить на лист элемент управления ListObject из окна Источники данных.Чтобы разрешить пользователям сохранять изменения, нужно добавить элемент управления Button с панели элементов.
Добавление объекта списка
Убедитесь, что книга Мои сложные данные Binding.xlsx открыта в конструкторе Visual Studio, и отображается Лист1.
Откройте окно Источники данных и выберите узел Сотрудники.
Щелкните стрелку раскрывающегося списка, которая появляется после выбора элемента.
Выберите в раскрывающемся списке ListObject.
Перетащите таблицу Сотрудники в ячейку А6.
В ячейке А6 будет создан элемент управления ListObject с именем EmployeesListObject.Одновременно в проект добавляются элемент управления BindingSource с именем EmployeesBindingSource, адаптер таблиц и экземпляр класса DataSet.Элемент управления связан с объектом BindingSource, который в свою очередь связан с экземпляром DataSet.
Добавление кнопки
- Со вкладки Стандартные элементы управленияПанели элементов перетащите элемент управления Button в ячейку A4 листа.
Следующим шагом будет добавление текста к кнопке при открытии листа.
Инициализация элемента управления
Добавьте текст к кнопке в обработчике событий Startup.
Инициализация элемента управления
В Обозревателе решений щелкните правой кнопкой мыши Лист1.vb или Лист1.cs и выберите в контекстном меню команду Перейти к коду.
Добавьте следующий код в метод Sheet1_Startup, чтобы задать текст для кнопки button:
Me.Button1.Text = "Save"
this.button1.Text = "Save";
Добавьте обработчик событий для события 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.
При открытии книги необходимо убедиться, что объект списка заполнен данными из таблицы Сотрудники.
Изменение данных
Щелкните ячейку B7, в которой должна стоять фамилия Даволио.
Введите фамилию Куликов и нажмите клавишу ВВОД.
Изменение заголовка столбца
Щелкните ячейку, в которой содержится заголовок столбца Фамилия.
Введите "Фамилия сотрудника" с пробелом между двумя словами и нажмите клавишу ВВОД.
Сохранение данных
На листе выберите пункт Сохранить.
Закройте приложение Excel.Когда отобразится окно с запросом о сохранении изменений, нажмите кнопку Нет.
Нажмите клавишу F5, чтобы повторно запустить проект.
Объект списка заполняется данными из таблицы Сотрудники.
Обратите внимание, что в ячейке B7 осталась фамилия Куликов — это изменение, которое было сохранено в базе данных.Заголовок столбца Фамилия был воссоздан в исходном виде, поскольку заголовок столбца не привязан к базе данных, и изменения на листе не были сохранены.
Добавление новых строк
Выберите ячейку в объекте списка.
В нижней части списка появляется новая строка со звездочкой (*) в первой ячейке.
Добавьте в пустую строку следующие данные:
КодСотрудника
LastName
FirstName
Заголовок
10
Егоров
Вадим
Менеджер по продажам
Удаление строк
- Щелкните правой кнопкой мыши номер 16 (строку 16) с самого левого края листа и выберите команду Удалить.
Сортировка строк в списке
Выберите ячейку в списке.
В заголовке каждого столбца появятся кнопки со стрелками.
Нажмите кнопку со стрелкой в заголовке столбца LastName.
Выберите пункт Сортировка по возрастанию.
Строки будут отсортированы в алфавитном порядке по фамилии.
Фильтр данных
Выберите ячейку в списке.
Нажмите кнопку со стрелкой в заголовке столбца Title.
Выберите пункт Торговый представитель.
В списке будут оставлены только те строки, в которых в столбце Заголовок стоит текст Торговый представитель.
Снова нажмите кнопку со стрелкой в заголовке столбца Title.
Выберите (Все).
Фильтр удаляется и отображаются все строки.
Следующие действия
Данное пошаговое руководство демонстрирует основы привязки таблицы в базе данных к объекту списка.Далее будут рассмотрены следующие задачи:
Кэширование данных для использования в автономном режиме.Дополнительные сведения см. в разделе Практическое руководство. Кэширование данных для автономного использования или для использования на сервере.
Развертывание решения.Дополнительные сведения см. в разделе Развертывание решения Office.
Создание отношения "основной-подробности" между полем и таблицей.Дополнительные сведения см. в разделе Пошаговое руководство. Создание иерархического отношения с помощью кэшированного набора данных.
См. также
Задачи
Пошаговое руководство. Простая привязка данных в проекте уровня документа