Практическое руководство. Обновление источника данных с помощью данных из элемента управления ведущего приложения
Обновлен: Июль 2008
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Проекты уровня документа
Проекты уровня приложения
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
Можно осуществить привязку элемента управления ведущего приложения к источнику данных и затем обновить источник данных с учетом изменений, произведенных с данными в элементе управления.
Начиная с Visual Studio 2008 с пакетом обновления 1 (SP1), можно привязать элементы управления ведущего приложения к данным в проектах уровня приложения. Если пакет обновления 1 (SP1) не установлен, можно использовать элементы управления ведущего приложения только в проектах уровня документа.
Два основных этапа данного процесса:
Обновление источника данных в памяти измененными в элементе управления данными. Обычно источником данных в памяти является объект DataSet, DataTable или другой объект данных.
Обновление базы данных измененными данными в источнике данных в памяти. Это возможно только в том случае, если источник данных подключен к базе данных, например, к базе данных SQL Server или Microsoft Office Access.
Дополнительные сведения об элементах управления ведущего приложения и привязке данных см. в разделах Общие сведения о ведущих элементах и элементах управления ведущего приложения и Привязка данных к элементам управления.
Обновление источника данных, находящегося в памяти
По умолчанию элементы управления ведущего приложения, которые позволяют выполнять простую привязку данных (например, элементы управления содержимым в документе Word или элемент управления именованным диапазоном на листе Excel) не сохраняют измененные данные в источнике данных, который находится в памяти. Т.е. когда пользователь изменяет значение в элементе управления ведущего приложения и затем выходит за пределы элемента управления, новое значение в элементе управления не сохраняется автоматически в источнике данных.
Для выполнения сохранения в источнике данных можно написать код, который будет обновлять источник данных в ответ на определенное событие времени выполнения, или можно настроить элемент управления на автоматическое обновление источника данных при изменении значения в элементе управления.
Сохранение изменений объекта ListObject в источнике данных, который находится в памяти, не требуется. При привязке элемента управления ListObject к данным элемент управления ListObject автоматически сохраняет изменения в источнике данных, который находится в памяти, без необходимости написания дополнительного кода.
Обновление источника данных, находящегося в памяти, во время выполнения
Вызовите метод WriteValue объекта Binding, который связывает элемент управления с источником данных.
В следующем примере показано сохранение изменений, выполненных в элементе управления NamedRange на листе Excel в источнике данных. В данном примере предполагается, что элемент управления NamedRange с именем namedRange1 и свойством Value2 привязан к полю в источнике данных.
Me.NamedRange1.DataBindings("Value2").WriteValue()
this.namedRange1.DataBindings["Value2"].WriteValue();
Автоматическое обновление источника данных, находящегося в памяти
Кроме того, можно настроить элемент управления на автоматическое обновление источника данных, который находится в памяти. В проекте уровня документа это можно выполнить с помощью кода или конструктора. В проекте уровня приложения необходимо использовать код.
Задание автоматического обновления источника данных, находящего в памяти, с помощью кода
Для связывания элемента управления с источником данных воспользуйтесь свойством DataSourceUpdateMode объекта Binding. Два параметра обновления источника данных:
Обновление источника данных при проверке элемента управления. Задайте для этого свойства значение OnValidation.
Обновление источника данных при изменении значения свойства с привязкой данных элемента управления. Задайте для этого свойства значение OnPropertyChanged.
Примечание. Параметр OnPropertyChanged не используется для элементов управления ведущего приложения Word, поскольку Word не предоставляет уведомлений об изменении документа или элемента управления. Однако этот параметр можно использовать для элементов управления Windows Forms в документах Word.
В следующем примере показана настройка элемента управления NamedRange на автоматическое обновление источника данных при изменении значения в элементе управления. В данном примере предполагается, что элемент управления NamedRange с именем namedRange1 и свойством Value2 привязан к полю в источнике данных.
Me.NamedRange1.DataBindings("Value2").DataSourceUpdateMode = _ DataSourceUpdateMode.OnPropertyChanged
this.namedRange1.DataBindings["Value2"].DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
Задание элемента управления на автоматическое обновление источника данных, находящего в памяти, с помощью конструктора
В Visual Studio откройте документ Word или книгу Excel в конструкторе.
Щелкните элемент управления, который должен автоматически обновлять источник данных.
В окне Свойства разверните свойство (DataBindings).
Рядом со свойством (Advanced) нажмите кнопку с многоточием ().
В диалоговом окне Форматирование и сложная привязка щелкните раскрывающийся список Режим обновления источника данных и выберите одно из следующих значений:
Для обновления источника данных при проверке элемента управления выберите значение OnValidation.
Для обновления источника данных при изменении значения свойства с привязкой данных элемента управления выберите значение OnPropertyChanged.
Примечание. Параметр OnPropertyChanged не используется для элементов управления ведущего приложения Word, поскольку Word не предоставляет уведомлений об изменении документа или элемента управления. Однако этот параметр можно использовать для элементов управления Windows Forms в документах Word.
Закройте диалоговое окно Форматирование и сложная привязка.
Обновление базы данных
Если источник данных, расположенный в памяти, связан с базой данных, то необходимо выполнять обновление базы данных при изменениях источника данных. Дополнительные сведения об обновлении базы данных см. в разделах Общие сведения о сохранении данных и Практическое руководство. Обновление данных с помощью адаптера таблицы.
Обновление базы данных
Вызовите метод EndEdit объекта BindingSource для элемента управления.
Объект BindingSource обновляется автоматически при добавлении элемента управления с привязкой к данным в документ или книгу во время разработки. Объект BindingSource подключает элемент управления к типизированному набору данных проекта. Дополнительные сведения см. в разделе Общие сведения о компоненте BindingSource.
В следующем примере кода предполагается, что проект содержит объект BindingSource под названием customersBindingSource.
Me.CustomersBindingSource.EndEdit()
this.customersBindingSource.EndEdit();
Вызовите метод Update, созданный TableAdapter.
Объект TableAdapter создается автоматически при добавлении элемента управления с привязкой к данным в документ или книгу во время разработки. Объект TableAdapter подключает типизированный набор данных проекта к базе данных. Дополнительные сведения см. в разделе Общие сведения об адаптере таблиц.
В следующем примере кода предполагается, что установлено подключение к таблице "Клиенты" базы данных Northwind и проект содержит TableAdapter с именем customersTableAdapter и типизированный набор данных с именем northwindDataSet.
Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
this.customersTableAdapter.Update(this.northwindDataSet.Customers);
См. также
Задачи
Практическое руководство. Обновление данных с помощью адаптера таблицы
Практическое руководство. Прокрутка записей базы данных на листе
Практическое руководство. Заполнение листов данными из базы данных
Практическое руководство. Заполнение документов данными из объектов
Практическое руководство. Заполнение документов данными из базы данных
Практическое руководство. Заполнение документов данными из служб
Основные понятия
Привязка данных к элементам управления
Общие сведения о сохранении данных
Журнал изменений
Дата |
Изменения |
Причина |
---|---|---|
Июль 2008 |
Добавлены сведения о привязке данных к надстройкам уровня приложения. |
Изменение функции SP1. |