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


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

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

Применение. Сведения этого раздела применяются к проектам уровня документа для 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.

  • Доступ к серверу с примером базы данных SQL Server "Northwind".База данных может располагаться на компьютере разработчика или на сервере.

  • Разрешения на чтение из базы данных SQL Server и запись в нее.

Создание нового проекта

На этом шаге создается проект книги Excel.

Создание нового проекта

Созданная книга Excel открывается в конструкторе Visual Studio. Проект "Иерархическое отношение" добавляется в обозреватель решений.

Создание источника данных

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

Создание источника данных

  1. Если окно Источники данных не отображается, его отображение в строке меню, выбирая Вид, Другие окна, Источники данных.

  2. Выберите Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.

  3. Выберите База данных и нажмите Далее.

  4. Выберите подключение к базе данных SQL Server "Northwind" или добавьте новое подключение с помощью кнопки Новое подключение.

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

  6. Чтобы сохранить подключение, снимите флажок, если он установлен, и нажмите Далее.

  7. В окне Объекты базы данных разверните узел Таблицы.

  8. Выберите таблицу Заказы и затем таблицу Сведения о заказе.

  9. Нажмите кнопку Готово.

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

Добавление элементов управления на лист

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

Добавление именованного диапазона и объекта списка

  1. Убедитесь, что книга My Master-Detail.xlsx открыта в конструкторе Visual Studio, и отображается Лист1.

  2. Откройте окно Источники данных и разверните узел Заказы.

  3. Выберите столбец Код заказа и щелкните отображаемую стрелку раскрывающегося списка.

  4. Выберите в раскрывающемся списке объект NamedRange и перетащите его в ячейку A2 столбца Код заказа.

    В ячейке A2 создается элемент управления NamedRange с именем OrderIDNamedRange.Одновременно в проект добавляются элемент управления BindingSource с именем OrdersBindingSource, адаптер таблиц и экземпляр класса DataSet.Элемент управления связан с объектом BindingSource, который в свою очередь связан с экземпляром DataSet.

  5. Прокрутите столбцы таблицы Заказы.В нижней части списка располагается таблица Сведения о заказе, которая является дочерней по отношению к таблице Заказы.Выберите дочернюю таблицу Сведения о заказе (не расположенную на одном уровне с таблицей Заказы) и щелкните отображающуюся стрелку раскрывающегося списка.

  6. Выберите в раскрывающемся списке элемент управления ListObject и перетащите таблицу Сведения озаказе в ячейку A6.

  7. В ячейке A6 создается элемент управления ListObject с именем Order_DetailsListObject, который привязывается к объекту BindingSource.

Добавление двух кнопок

  1. Со вкладки Стандартные элементы управленияПанели элементов перетащите элемент управления Button в ячейку A3 листа.

    Этой кнопке присваивается имя Button1.

  2. Перетащите другой элемент управления Button в ячейку B3 листа.

    Этой кнопке присваивается имя Button2.

Затем пометьте набор данных как кэшируемый в документе.

Кэширование набора данных

Чтобы пометить набор данных как кэшируемый в документе, определите его с помощью модификатора Public и установите свойство CacheInDocument.

Кэширование набора данных

  1. Выберите объект NorthwindDataSet в области компонентов.

  2. В окне Свойства измените значение свойства Modifiers на Public.

    Допускается кэширование только документов, определенных с помощью модификатора Public.

  3. Измените значение свойства CacheInDocument на True.

Далее следует добавить текст для кнопок. В C# также добавляется код управления обработчиками событий.

Инициализация элементов управления

Установите текст кнопки и добавьте обработчики событий в событии Startup.

Инициализация данных и элементов управления

  1. В Обозревателе решений щелкните правой кнопкой мыши Лист1.vb или Лист1.cs и выберите в контекстном меню команду Перейти к коду.

  2. В метод Sheet1_Startup добавьте следующий код, в котором задается текст кнопок.

    Me.Button1.Text = "<"
    Me.Button2.Text = ">"
    
    this.button1.Text = "<";
    this.button2.Text = ">";
    
  3. Добавьте обработчики событий для событий Click кнопок в метод Sheet1_Startup (только для C#).

    this.button1.Click += new EventHandler(button1_Click);
    this.button2.Click += new EventHandler(button2_Click);
    

Добавление кода, включающего прокрутку записей

Чтобы включить перемещение по записям, добавьте код в обработчики событий Click для каждой кнопки.

Прокрутка записей

  1. Добавьте обработчик событий Click для элемента управления Button1, а также следующий код, обеспечивающий перемещение по записям в обратном направлении:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        Me.OrdersBindingSource.MovePrevious()
    End Sub
    
    private void button1_Click(object sender, EventArgs e)
    {
        this.ordersBindingSource.MovePrevious();
    }
    
  2. Добавьте обработчик событий Click для элемента управления Button2, а также следующий код, обеспечивающий перемещение по записям в прямом направлении:

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button2.Click
    
        Me.OrdersBindingSource.MoveNext()
    End Sub
    
    private void button2_Click(object sender, EventArgs e)
    {
        this.ordersBindingSource.MoveNext();
    }
    

Тестирование приложения

Теперь можно выполнить тестирование книги, чтобы проверить корректность отображения данных, а также возможность использования решения в автономном режиме.

Тестирование кэширования данных

  1. Нажмите клавишу F5.

  2. Убедитесь, что именованный диапазон и объект списка заполняются данными из источника данных.

  3. Выполните прокрутку записей, нажимая соответствующие кнопки.

  4. Сохраните книгу. Закройте книгу и среду Visual Studio.

  5. Закройте подключение к базе данных.Если база данных располагается на сервере, отключите сетевой кабель. Если база данных располагается на компьютере разработчика, остановите службу SQL Server.

  6. Откройте Excel, а затем откройте My Master-Detail.xlsx из каталога \ bin \ (моих с отображением вида " главный-подчиненный " \ bin в Visual Basic или \ my Образец- сведения \ bin \ debug в C-#).

  7. Выполните прокрутку записей, чтобы проверить правильность работы листа в автономном режиме.

  8. Восстановите подключение к базе данных.Если база данных располагается на сервере, подключите компьютер к сети. Если база данных располагается на компьютере разработчика, запустите службу SQL Server.

Следующие действия

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

См. также

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

Кэширование данных

Общие сведения о ведущих элементах и элементах управления ведущего приложения

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

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

Данные в решениях Office