Пошаговое руководство. Простая привязка данных в проекте надстройки VSTO
В проектах надстроек VSTO можно привязывать данные к элементам управления ведущего приложения и элементам управления Windows Forms. В этом пошаговом руководстве демонстрируется добавление элементов управления в документ Microsoft Office Word и привязка элементов управления к данным во время выполнения.
Область применения. Сведения в этом разделе относятся к проектам надстроек VSTO для Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.
В этом пошаговом руководстве рассматриваются следующие задачи:
Добавление ContentControl в документ во время выполнения.
создание объекта BindingSource , соединяющего элемент управления с экземпляром набора данных.
Предоставление пользователю возможности прокручивать записи и просматривать их в элементе управления.
Примечание.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Необходимые компоненты
Для выполнения этого пошагового руководства требуются следующие компоненты:
Выпуск Visual Studio, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в статье "Настройка компьютера для разработки решений Office".
Word 2013 или Word 2010.
Доступ к запущенному экземпляру SQL Server 2005 или SQL Server 2005 Express с подключенной учебной базой данных
AdventureWorksLT
. Базу данных можно скачатьAdventureWorksLT
из репозитория GitHub примеров SQL Server. Дополнительные сведения о подключении базы данных см. в следующих разделах:Чтобы подключить базу данных с помощью SQL Server Management Studio или SQL Server Management Studio Express, см. статью "Подключение базы данных" (SQL Server Management Studio).
Сведения о присоединении базы данных с помощью командной строки см. в статье "Практическое руководство. Присоединение файла базы данных к SQL Server Express".
Создание нового проекта
Первым шагом является создание проекта надстройки Word VSTO.
Создание проекта
Создайте проект надстройки VSTO для Word с именем Заполнение документов из базы данныхв Visual Basic или C#.
Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".
Visual Studio открывает файл ThisAddIn.vb или ThisAddIn.cs и добавляет заполнение документов из проекта базы данных в Обозреватель решений.
Если проект предназначен для платформа .NET Framework 4 или платформа .NET Framework 4.5, добавьте ссылку на сборку Microsoft.Office.Tools.Word.v4.0.Utilities.dll. Эта ссылка потребуется для программного добавления элемента управления Windows Forms в документ далее в этом пошаговом руководстве.
Создание источника данных
С помощью окна Источники данных добавьте типизированный набор данных в свой проект.
Добавление типизированного набора данных в проект
Если окно "Источники данных" не отображается, отобразите его в строке меню, выбрав "Просмотреть>другие источники данных Windows>".
Выберите команду Добавить новый источник данных , чтобы запустить Мастер настройки источника данных.
Щелкните База данныхи нажмите кнопку Далее.
Если подключение к базе данных
AdventureWorksLT
существует, выберите его и нажмите кнопку Далее.В противном случае нажмите Создать подключениеи в диалоговом окне Добавление подключения создайте новое подключение. Дополнительные сведения см. в разделе "Добавление новых подключений".
На странице Сохранение подключения в файле конфигурации приложения нажмите кнопку Далее.
На странице Выбор объектов базы данных разверните узел Таблицы и выберите таблицу Customer (SalesLT).
Нажмите кнопку Готово.
Файл AdventureWorksLTDataSet.xsd добавляется в Обозреватель решений. В этом файле определены следующие элементы:
Типизированный набор данных с именем
AdventureWorksLTDataSet
. Этот набор данных представляет содержимое таблицы Customer (SalesLT) в базе данных AdventureWorksLT.Имя TableAdapter
CustomerTableAdapter
. Этот tableAdapter можно использовать для чтения и записи данных в объектеAdventureWorksLTDataSet
. Дополнительные сведения см. в обзоре TableAdapter.Далее в пошаговом руководстве используются оба эти объекта.
Создание элементов управления и привязки элементов управления к данным
Интерфейс для просмотра записей базы данных в этом пошаговом руководстве является базовым, и он создается прямо в документе. Один элемент управления ContentControl отображает по одной записи базы данных, а второй элемент управления Button позволяет прокручивать записи вперед и назад. Элемент управления содержимым использует BindingSource для подключения к базе данных.
Дополнительные сведения об элементах управления привязкой к данным см. в статье "Привязка данных к элементам управления" в решениях Office.
Создание интерфейса в документе
В классе
ThisAddIn
объявите следующие элементы управления для отображения и прокрутки таблицыCustomer
из базы данныхAdventureWorksLTDataSet
.private AdventureWorksLTDataSet adventureWorksDataSet; private AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter customerTableAdapter; private System.Windows.Forms.BindingSource customerBindingSource; private Microsoft.Office.Tools.Word.RichTextContentControl customerContentControl; private Microsoft.Office.Tools.Word.Controls.Button button1; private Microsoft.Office.Tools.Word.Controls.Button button2;
В метод
ThisAddIn_Startup
добавьте приведенный ниже код для инициализации набора данных и его заполнения сведениями из базы данныхAdventureWorksLTDataSet
.Добавьте следующий код в метод
ThisAddIn_Startup
. Этот код создает ведущий элемент, расширяющий документ. Дополнительные сведения см. в разделе "Расширение документов Word" и книг Excel в надстройках VSTO во время выполнения.Определите несколько диапазонов в начале документа. Эти диапазоны указывают место вставки текста и размещения элементов управления.
extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.Text = "The companies listed in the AdventureWorksLT database: \n"; extendedDocument.Paragraphs[2].Range.Text = " "; Word.Range range1 = extendedDocument.Paragraphs[2].Range.Characters.First; Word.Range range2 = extendedDocument.Paragraphs[2].Range.Characters.Last; Word.Range range3 = extendedDocument.Paragraphs[1].Range.Characters.Last;
Добавьте элементы управления интерфейса в ранее определенные диапазоны.
this.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1"); this.button1.Text = "Previous"; this.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2"); this.button2.Text = "Next"; this.customerContentControl = extendedDocument.Controls.AddRichTextContentControl( range3, "richTextContentControl1");
Привяжите элемент управления содержимым к
AdventureWorksLTDataSet
с помощью BindingSource. Разработчикам C# следует добавить два обработчика событий для элементов управления Button .this.customerBindingSource.DataSource = this.adventureWorksDataSet.Customer; this.customerContentControl.DataBindings.Add("Text", this.customerBindingSource, "CompanyName", true, this.customerContentControl.DataBindings.DefaultDataSourceUpdateMode); this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click);
Добавьте следующий код для перемещения по записям базы данных.
Тестирование надстройки
При открытии Word элемент управления содержимым отображает данные из набора данных AdventureWorksLTDataSet
. Прокрутите записи базы данных, нажимая кнопки Далее и Назад .
Тестирование надстройки VSTO
Нажмите клавишу F5.
Элемент управления содержимым с именем
customerContentControl
создается и заполняется данными. В то же время в проект добавляется объект набора данных с именемadventureWorksLTDataSet
и объект BindingSource с именемcustomerBindingSource
. Объект ContentControl привязан к объекту BindingSource, который в свою очередь привязан к объекту набора данных.Нажимайте кнопки Далее и Назад , чтобы прокрутить записи базы данных.
Связанный контент
- Данные в решениях Office
- Привязка данных к элементам управления в решениях Office
- Практическое руководство. Заполнение листов данными из базы данных
- Практическое руководство. Заполнение документов данными из базы данных
- Практическое руководство. Заполнение документов данными из служб
- Практическое руководство. Заполнение документов данными из объектов
- Практическое руководство. Прокрутка записей базы данных на листе
- Практическое руководство. Обновление источника данных с данными из элемента управления узлом
- Пошаговое руководство. Простая привязка данных в проекте уровня документа
- Пошаговое руководство. Сложная привязка данных в проекте уровня документа
- Общие сведения об использовании локальных файлов базы данных в решениях Office
- Добавление новых источников данных
- Привязка элементов управления Windows Forms к данным в Visual Studio
- Практическое руководство. Заполнение документов данными из объектов
- Практическое руководство. Обновление источника данных с данными из элемента управления узлом
- Общие сведения об использовании локальных файлов базы данных в решениях Office
- Общие сведения о компоненте BindingSource