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


Практическое руководство. Обновление источника данных с помощью данных из элемента управления ведущего приложения

Можно осуществить привязку элемента управления ведущего приложения к источнику данных и затем обновить источник данных с учетом изменений, произведенных с данными в элементе управления.Этот процесс включает в себя два основных этапа.

  1. Обновление источника данных в памяти измененными в элементе управления данными.Обычно источником данных в памяти является объект DataSet, DataTable или другой объект данных.

  2. Обновление базы данных измененными данными в источнике данных в памяти.Это возможно только в том случае, если источник данных подключен к базе данных, например, к базе данных SQL Server или Microsoft Office Access.

Дополнительные сведения об элементах управления ведущего приложения и привязке данных см. в разделах Общие сведения о ведущих элементах и элементах управления ведущего приложения и Привязка данных к элементам управления в решениях Office.

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

Обновление источника данных, находящегося в памяти

По умолчанию элементы управления ведущего приложения, которые позволяют выполнять простую привязку данных (например, элементы управления содержимым в документе Word или элемент управления именованным диапазоном на листе Excel) не сохраняют измененные данные в источнике данных, который находится в памяти.Т.е. когда пользователь изменяет значение в элементе управления ведущего приложения и затем выходит за пределы элемента управления, новое значение в элементе управления не сохраняется автоматически в источнике данных.

Для выполнения сохранения в источнике данных можно написать код, который будет обновлять источник данных в ответ на определенное событие времени выполнения, или можно настроить элемент управления на автоматическое обновление источника данных при изменении значения в элементе управления.

Сохранение изменений объекта ListObject в источнике данных, который находится в памяти, не требуется.При привязке элемента управления ListObject к данным элемент управления ListObject автоматически сохраняет изменения в источнике данных, который находится в памяти, без необходимости написания дополнительного кода.

Обновление источника данных, находящегося в памяти, во время выполнения

  • Вызовите метод WriteValue объекта Binding, который связывает элемент управления с источником данных.

    В следующем примере показано сохранение изменений, выполненных в элементе управления NamedRange на листе Excel в источнике данных.В данном примере предполагается, что элемент управления NamedRange с именем namedRange1 и свойством Value2 привязан к полю в источнике данных.

    Me.NamedRange1.DataBindings("Value2").WriteValue()
    
    this.namedRange1.DataBindings["Value2"].WriteValue();
    

bybtbt99.collapse_all(ru-ru,VS.110).gifАвтоматическое обновление источника данных, находящегося в памяти

Кроме того, можно настроить элемент управления на автоматическое обновление источника данных, который находится в памяти.В проекте уровня документа это можно выполнить с помощью кода или конструктора.В проекте уровня приложения необходимо использовать код.

Задание автоматического обновления источника данных, находящего в памяти, с помощью кода

  • Для привязки элемента управления к источнику данных воспользуйтесь режимом System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged объекта Binding.Два параметра обновления источника данных:

    • Обновление источника данных при проверке элемента управления. Задайте для этого свойства значение System.Windows.Forms.DataSourceUpdateMode.OnValidation.

    • Обновление источника данных при изменении значения свойства с привязкой данных элемента управления. Задайте для этого свойства значение System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged.

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

      Параметр System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged не используется для элементов управления ведущего приложения Word, поскольку Word не предоставляет уведомлений об изменении документа или элемента управления.Однако этот параметр можно использовать для элементов управления Windows Forms в документах Word.

    В следующем примере показана настройка элемента управления NamedRange на автоматическое обновление источника данных при изменении значения в элементе управления.В данном примере предполагается, что элемент управления NamedRange с именем namedRange1 и свойством Value2 привязан к полю в источнике данных.

    Me.NamedRange1.DataBindings("Value2").DataSourceUpdateMode = _
        DataSourceUpdateMode.OnPropertyChanged
    
    this.namedRange1.DataBindings["Value2"].DataSourceUpdateMode = 
        DataSourceUpdateMode.OnPropertyChanged;
    

Задание элемента управления на автоматическое обновление источника данных, находящего в памяти, с помощью конструктора

  1. В Visual Studio откройте документ Word или книгу Excel в конструкторе.

  2. Щелкните элемент управления, который должен автоматически обновлять источник данных.

  3. В окне Свойства разверните свойство (DataBindings).

  4. Рядом со свойством (Advanced) нажмите кнопку с многоточием (Снимок экрана VisualStudioEllipsesButton).

  5. В диалоговом окне Форматирование и сложная привязка щелкните раскрывающийся список Режим обновления источника данных и выберите одно из следующих значений:

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

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

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

      Параметр OnPropertyChanged не используется для элементов управления ведущего приложения Word, поскольку Word не предоставляет уведомлений об изменении документа или элемента управления.Однако этот параметр можно использовать для элементов управления Windows Forms в документах Word.

  6. Закройте диалоговое окно Форматирование и сложная привязка.

Обновление базы данных

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

Обновление базы данных

  1. Вызовите метод EndEdit объекта BindingSource для элемента управления.

    Объект BindingSource обновляется автоматически при добавлении элемента управления с привязкой к данным в документ или книгу во время разработки.Объект BindingSource подключает элемент управления к типизированному набору данных проекта.Дополнительные сведения см. в разделе Общие сведения о компоненте BindingSource.

    В следующем примере кода предполагается, что проект содержит объект BindingSource под названием customersBindingSource.

    Me.CustomersBindingSource.EndEdit()
    
    this.customersBindingSource.EndEdit();
    
  2. Вызовите метод Update, созданный TableAdapter.

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

    В следующем примере кода предполагается, что установлено подключение к таблице "Клиенты" базы данных Northwind и проект содержит TableAdapter с именем customersTableAdapter и типизированный набор данных с именем northwindDataSet.

    Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
    
    this.customersTableAdapter.Update(this.northwindDataSet.Customers);
    

См. также

Задачи

Практическое руководство. Обновление данных с помощью адаптера таблицы

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

Практическое руководство. Заполнение листов данными из базы данных

Практическое руководство. Заполнение документов данными из объектов

Практическое руководство. Заполнение документов данными из базы данных

Практическое руководство. Заполнение документов данными из служб

Основные понятия

Сохранение данных в наборах данных

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

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