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


Пошаговое руководство. Привязка данных к элементам управления на панели действий Excel

В этом пошаговом руководстве демонстрируется привязка данных к элементам управления на панели действий в Microsoft Office Excel. Элементы управления показывают отношение «Основной/подробности» между таблицами в базе данных SQL Server.

Область применения. Сведения в этом разделе относятся к проектам уровня документа для Excel. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

В этом пошаговом руководстве рассматриваются следующие задачи:

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

  • Создание элемента управления панели действий.

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

  • Отображение области действий при открытии приложения.

Примечание.

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

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

  • Выпуск Visual Studio, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в статье "Настройка компьютера для разработки решений Office".

  • Excel 2013 или Excel 2010.

  • Доступ к серверу с примером базы данных SQL Server Northwind.

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

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

Первым шагом является создание проекта книги Excel.

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

  1. Создайте проект книги Excel с именем области "Мои действия Excel". В мастере выберите "Создать новый документ". Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

    Visual Studio открывает новую книгу Excel в конструкторе и добавляет проект области действий My Excel в Обозреватель решений.

Добавление нового источника данных в проект

Добавление нового источника данных в проект

  1. Если окно "Источники данных" не отображается, отобразите его в строке меню, выбрав "Просмотреть>другие источники данных Windows".>

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

  3. Выберите "База данных " и нажмите кнопку "Далее".

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

  5. Нажмите кнопку Далее.

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

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

  8. Выберите поле проверка рядом с таблицей "Поставщики".

  9. Разверните таблицу Products и выберите ProductName, SupplierID, QuantityPerUnit и UnitPrice.

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

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

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

Затем добавьте NamedRange элемент управления и ListObject элемент управления на первый лист.

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

  1. Убедитесь, что книга "Мои действия Excel Actions Pane.xlsx " открыта в конструкторе Visual Studio и Sheet1 отображается.

  2. В окне "Источники данных" разверните таблицу "Поставщики".

  3. Щелкните стрелку раскрывающегося списка на узле "Имя компании" и нажмите кнопку "Именованныйrange".

  4. Перетащите имя компании из окна источников данных в ячейку A2.Sheet1

    NamedRange Создается элемент CompanyNameNamedRange управления, а текст <CompanyName> отображается в ячейке A2. В то же время в проект добавляются именованный BindingSource suppliersBindingSourceадаптер, адаптер таблицы и а DataSet . Элемент управления привязан к BindingSourceобъекту, который, в свою очередь, привязан к экземпляру DataSet .

  5. В окне "Источники данных" прокрутите вниз до столбцов, которые находятся в таблице "Поставщики". В нижней части списка находится таблица "Продукты" , так как она является дочерним элементом таблицы "Поставщики ". Выберите эту таблицу Products , а не ту, которая находится на том же уровне, что и таблица "Поставщики" , а затем щелкните появиющуюся стрелку раскрывающегося списка.

  6. Щелкните ListObject в раскрывающемся списке, а затем перетащите таблицу Products в ячейку A6.Sheet1

    Имя ListObject элемента ProductNameListObject управления создается в ячейке A6. В то же время в проект добавляются именованный BindingSource productsBindingSource и табличный адаптер. Элемент управления привязан к BindingSourceобъекту, который, в свою очередь, привязан к экземпляру DataSet .

  7. Для C# выберите только поставщиковBindingSource в области компонентов и измените свойство Modifiers на Internal в окне свойств .

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

Затем вам потребуется элемент управления области действий с полем со списком.

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

  1. Выберите проект области действий "Мои действия Excel" в Обозреватель решений.

  2. В меню Проект выберите Добавить новый элемент.

  3. В диалоговом окне "Добавить новый элемент" выберите элемент управления "Области действий", назовите его ActionsControl и нажмите кнопку "Добавить".

Добавление элементов управления Windows Forms с привязкой к данным в элемент управления области действий

  1. На вкладках "Общие элементы управления" панели элементов перетащите ComboBox элемент управления в область действий.

  2. Измените свойство Size на 171, 21.

  3. Измените размер пользовательского элемента управления в соответствии с полем со списком.

Привязка элемента управления на панели действий к данным

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

Задание свойств привязки данных элемента управления

  1. Щелкните правой кнопкой мыши элемент управления панели действий и выберите команду "Просмотреть код".

  2. Добавьте следующий код в Load событие элемента управления панели действий.

    private void ActionsControl_Load(object sender, EventArgs e)
    {
        this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource;
        this.comboBox1.DisplayMember = "CompanyName";
    }
    
  3. В C#необходимо создать обработчик событий для объекта ActionsControl. Этот код можно поместить в ActionsControl конструктор. Дополнительные сведения о создании обработчиков событий см. в статье "Практическое руководство. Создание обработчиков событий в проектах Office".

    public ActionsControl()
    {
        InitializeComponent();
        this.Load += new EventHandler(ActionsControl_Load);
    }
    

Отображение области действий

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

Отображение области действий

  1. В Обозреватель решений щелкните правой кнопкой мыши ThisWorkbook.vb или ThisWorkbook.cs, а затем щелкните "Просмотреть код".

  2. Создайте новый экземпляр пользовательского элемента управления в ThisWorkbook классе.

    ActionsControl actions = new ActionsControl();
    
  3. В обработчике Startup ThisWorkbookсобытий добавьте элемент управления в область действий.

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.ActionsPane.Controls.Add(actions);
    }
    

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

Теперь вы можете протестировать документ, чтобы убедиться, что область действий открывается при открытии документа, а элементы управления имеют отношение "главный/подробный".

Проверка документа

  1. Нажмите клавишу F5 для запуска проекта.

  2. Убедитесь, что область действий отображается.

  3. Выберите компанию в списке. Убедитесь, что имя компании указано в NamedRange элементе управления и что сведения о продукте перечислены в элементе ListObject управления.

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

Следующие шаги

Ниже приводятся некоторые из возможных последующих задач.