Пошаговое руководство. Создание иерархического отношения с помощью кэшированного набора данных
В этом пошаговом руководстве показано создание иерархического отношения на листе и кэширование данных, позволяющее использовать решение в автономном режиме.
Применение. Сведения этого раздела применяются к проектам уровня документа для 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 Basic или C#.Убедитесь, что выбрано Создать новый документ.Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Office в Visual Studio.
Созданная книга Excel открывается в конструкторе Visual Studio. Проект "Иерархическое отношение" добавляется в обозреватель решений.
Создание источника данных
Чтобы добавить типизированный набор данных в проект, следует использовать окно Источники данных.
Создание источника данных
Если окно Источники данных не отображается, его отображение в строке меню, выбирая Вид, Другие окна, Источники данных.
Выберите Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.
Выберите База данных и нажмите Далее.
Выберите подключение к базе данных SQL Server "Northwind" или добавьте новое подключение с помощью кнопки Новое подключение.
После выбора или создания подключения нажмите кнопку Далее.
Чтобы сохранить подключение, снимите флажок, если он установлен, и нажмите Далее.
В окне Объекты базы данных разверните узел Таблицы.
Выберите таблицу Заказы и затем таблицу Сведения о заказе.
Нажмите кнопку Готово.
С помощью мастера обе таблицы добавляются в окно Источники данных.Также к проекту добавляется типизированный набор данных, который отображается в Обозревателе решений.
Добавление элементов управления на лист
На этом шаге на первый лист выполняется добавление именованного диапазона, объекта списка и двух кнопок.Сначала добавьте именованный диапазон и объект списка из окна Источники данных, чтобы обеспечить их автоматическое связывание с источником данных.Далее добавьте кнопки с Панели элементов.
Добавление именованного диапазона и объекта списка
Убедитесь, что книга My Master-Detail.xlsx открыта в конструкторе Visual Studio, и отображается Лист1.
Откройте окно Источники данных и разверните узел Заказы.
Выберите столбец Код заказа и щелкните отображаемую стрелку раскрывающегося списка.
Выберите в раскрывающемся списке объект NamedRange и перетащите его в ячейку A2 столбца Код заказа.
В ячейке A2 создается элемент управления NamedRange с именем OrderIDNamedRange.Одновременно в проект добавляются элемент управления BindingSource с именем OrdersBindingSource, адаптер таблиц и экземпляр класса DataSet.Элемент управления связан с объектом BindingSource, который в свою очередь связан с экземпляром DataSet.
Прокрутите столбцы таблицы Заказы.В нижней части списка располагается таблица Сведения о заказе, которая является дочерней по отношению к таблице Заказы.Выберите дочернюю таблицу Сведения о заказе (не расположенную на одном уровне с таблицей Заказы) и щелкните отображающуюся стрелку раскрывающегося списка.
Выберите в раскрывающемся списке элемент управления ListObject и перетащите таблицу Сведения озаказе в ячейку A6.
В ячейке A6 создается элемент управления ListObject с именем Order_DetailsListObject, который привязывается к объекту BindingSource.
Добавление двух кнопок
Со вкладки Стандартные элементы управленияПанели элементов перетащите элемент управления Button в ячейку A3 листа.
Этой кнопке присваивается имя Button1.
Перетащите другой элемент управления Button в ячейку B3 листа.
Этой кнопке присваивается имя Button2.
Затем пометьте набор данных как кэшируемый в документе.
Кэширование набора данных
Чтобы пометить набор данных как кэшируемый в документе, определите его с помощью модификатора Public и установите свойство CacheInDocument.
Кэширование набора данных
Выберите объект NorthwindDataSet в области компонентов.
В окне Свойства измените значение свойства Modifiers на Public.
Допускается кэширование только документов, определенных с помощью модификатора Public.
Измените значение свойства CacheInDocument на True.
Далее следует добавить текст для кнопок. В C# также добавляется код управления обработчиками событий.
Инициализация элементов управления
Установите текст кнопки и добавьте обработчики событий в событии Startup.
Инициализация данных и элементов управления
В Обозревателе решений щелкните правой кнопкой мыши Лист1.vb или Лист1.cs и выберите в контекстном меню команду Перейти к коду.
В метод Sheet1_Startup добавьте следующий код, в котором задается текст кнопок.
Me.Button1.Text = "<" Me.Button2.Text = ">"
this.button1.Text = "<"; this.button2.Text = ">";
Добавьте обработчики событий для событий Click кнопок в метод Sheet1_Startup (только для C#).
this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click);
Добавление кода, включающего прокрутку записей
Чтобы включить перемещение по записям, добавьте код в обработчики событий Click для каждой кнопки.
Прокрутка записей
Добавьте обработчик событий 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(); }
Добавьте обработчик событий 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(); }
Тестирование приложения
Теперь можно выполнить тестирование книги, чтобы проверить корректность отображения данных, а также возможность использования решения в автономном режиме.
Тестирование кэширования данных
Нажмите клавишу F5.
Убедитесь, что именованный диапазон и объект списка заполняются данными из источника данных.
Выполните прокрутку записей, нажимая соответствующие кнопки.
Сохраните книгу. Закройте книгу и среду Visual Studio.
Закройте подключение к базе данных.Если база данных располагается на сервере, отключите сетевой кабель. Если база данных располагается на компьютере разработчика, остановите службу SQL Server.
Откройте Excel, а затем откройте My Master-Detail.xlsx из каталога \ bin \ (моих с отображением вида " главный-подчиненный " \ bin в Visual Basic или \ my Образец- сведения \ bin \ debug в C-#).
Выполните прокрутку записей, чтобы проверить правильность работы листа в автономном режиме.
Восстановите подключение к базе данных.Если база данных располагается на сервере, подключите компьютер к сети. Если база данных располагается на компьютере разработчика, запустите службу SQL Server.
Следующие действия
В этом пошаговом руководстве показаны основные принципы создания иерархического отношения на листе, а также кэширования набора данных.Далее будут рассмотрены следующие задачи:
- Развертывание решения.Дополнительные сведения см. в разделе Развертывание решения Office.
См. также
Основные понятия
Общие сведения о ведущих элементах и элементах управления ведущего приложения