Пошаговое руководство. Сложная привязка данных в проекте уровня документа
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В этом пошаговом руководстве демонстрируются основные сведения о сложной привязке данных в проекте уровня документа. Можно связывать множество ячеек в листе Microsoft Office Excel с полями в базе данных Northwind SQL Server.
В данном пошаговом руководстве представлены следующие задачи:
Добавление источника данных к проекту книги.
Добавление элементов управления с привязкой к данным на лист.
Сохранение измененных данных обратно в базу данных.
Примечание. |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя 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. Проект Сложная привязка данных добавляется в обозреватель решений.
Создание источника данных
Чтобы добавить типизированный набор данных в проект, следует использовать окно Источники данных.
Создание источника данных
Если окно Источники данных не отображается, выберите в меню Данные команду Показать источники данных.
Примечание. Если команда Показать источники данных недоступна, нажмите кнопку мыши внутри книги Excel и попробуйте снова.
Щелкните Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.
Выберите База данных и нажмите Далее.
Выберите подключение данных к учебной базе данных SQL Server "Northwind" или добавьте новое подключение с помощью кнопки Новое подключение.
После выбора или создания подключения нажмите кнопку Далее.
Чтобы сохранить подключение, снимите флажок, если он установлен, и нажмите Далее.
В окне Объекты базы данных разверните узел Таблицы.
Установите флажок рядом с таблицей Сотрудники.
Нажмите кнопку Готово.
Мастер добавит таблицу Сотрудники в окно Источники данных. Также к проекту добавляется типизированный набор данных, который отображается в обозревателе решений.
Добавление элементов управления на лист
Если книга открыта, на листе отобразится таблица Сотрудники. Пользователи смогут изменять данные и сохранять изменения в базе данных, нажимая кнопку.
Чтобы автоматически привязать лист к таблице, можно добавить на лист элемент управления ListObject из окна Источники данных. Чтобы разрешить пользователям сохранять изменения, нужно добавить элемент управления Button с панели элементов.
Добавление объекта списка
Следует удостовериться в том, что книга Сложная привязка данных.xls открыта в конструкторе Visual Studio, и отображается Лист1.
Откройте окно Источники данных и выберите узел Сотрудники.
Щелкните стрелку раскрывающегося списка, которая появляется после выбора элемента.
Выберите в раскрывающемся списке ListObject.
Перетащите таблицу Сотрудники в ячейку А6.
В ячейке А6 будет создан элемент управления ListObject с именем EmployeesListObject. Одновременно в проект будет добавлен элемент управления BindingSource с именем EmployeesBindingSource, адаптер таблиц и экземпляр DataSet. Элемент управления связан с объектом BindingSource, который, в свою очередь, связан с экземпляром DataSet.
Добавление кнопки
- Добавьте в ячейку A4 на листе элемент управления Button со вкладки Стандартные элементы управления в панели элементов.
Следующим шагом будет добавление текста к кнопке при открытии листа.
Инициализация элемента управления
Добавьте текст к кнопке в обработчике событий 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 осталась фамилия Куликов — это изменение, которое было сохранено в базе данных. Заголовок столбца Фамилия был воссоздан в исходном виде, поскольку заголовок столбца не привязан к базе данных, и изменения на листе не были сохранены.
Добавление новых строк
Выберите ячейку в объекте списка.
В нижней части списка появляется новая строка со звездочкой (*) в первой ячейке.
Добавьте в пустую строку следующие данные:
КодСотрудника
Фамилия
Имя
Должность
10
Егоров
Вадим
Менеджер по продажам
Удаление строк
- Щелкните правой кнопкой мыши номер 16 (строку 16) с самого левого края листа и выберите команду Удалить.
Сортировка строк в списке
Выберите ячейку в списке.
В заголовке каждого столбца появятся кнопки со стрелками.
Нажмите кнопку со стрелкой в заголовке столбца LastName.
Выберите пункт Сортировка по возрастанию.
Строки будут отсортированы в алфавитном порядке по фамилии.
Фильтр данных
Выберите ячейку в списке.
Нажмите кнопку со стрелкой в заголовке столбца Title.
Выберите пункт Торговый представитель.
В списке будут оставлены только те строки, в которых в столбце Заголовок стоит текст Торговый представитель.
Снова нажмите кнопку со стрелкой в заголовке столбца Title.
Выберите (Все).
Фильтр удаляется и отображаются все строки.
Следующие действия
Данное пошаговое руководство демонстрирует основы привязки таблицы в базе данных к объекту списка. Вот некоторые задачи, которые могут возникать впоследствии:
Кэширование данных для использования в автономном режиме. Дополнительные сведения см. в разделе Практическое руководство. Кэширование данных для автономного использования или для использования на сервере.
Развертывание решения. Дополнительные сведения см. в разделе Развертывание решений Office.
Создание отношения "основной-подробности" между полем и таблицей. Дополнительные сведения см. в разделе Пошаговое руководство. Создание иерархического отношения с помощью кэшированного набора данных.
См. также
Задачи
Пошаговое руководство. Простая привязка данных в проекте уровня документа
Основные понятия
Привязка данных к элементам управления