Udostępnij za pośrednictwem


Wskazówki: złożone powiązanie danych w aplikacjach na poziomie dokumentów

Dane można powiązać z formantami hosta i formantów Windows Forms na poziomie aplikacji.W tym instruktażu przedstawiono sposób dodawania formantów do arkusza programu Microsoft Office Excel i wiązać formanty z danych w czasie wykonywania.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie aplikacji obsługiwanych w programach Excel 2013 i Excel 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

W przewodniku przedstawiono następujące zagadnienia:

  • Dodawanie ListObject formant do arkusza w czasie wykonywania.

  • Tworzenie BindingSource znaczenie kontroli dla instancji obiektu dataset.

[!UWAGA]

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Wymagania wstępne

Następujące składniki są wymagane do przeprowadzenia tego instruktażu:

Tworzenie nowego projektu

Pierwszym krokiem jest utworzenie projektu dodatek w programie Excel.

Aby utworzyć nowy projekt

  • Utwórz projekt dodatek programu Excel z nazwy podczas wypełniania arkuszy z bazy danych przy użyciu języka Visual Basic lub C#.

    Aby uzyskać więcej informacji, zobacz Porady: tworzenie projektów Office w Visual Studio.

    Zostanie otwarty program Visual Studio ThisAddIn.vb lub ThisAddIn.cs plik i dodaje podczas wypełniania arkuszy z projektu bazy danych do Solution Explorer.

Tworzenie źródła danych

Użycie Źródła danych okno umożliwiające dodanie zestawu danych wpisywanych do projektu.

Aby dodać zestawu danych wpisywanych do projektu

  1. Jeśli Źródła danych okno nie jest widoczne, wyświetl go, w menu bar, wybierając View, Other Windows, Źródła danych.

  2. Wybierz polecenie Dodać nowe źródło danych zacząć Kreatora konfiguracji źródła danych.

  3. Kliknij przycisk bazy danych, a następnie kliknij przycisk Dalej.

  4. Jeśli masz istniejące połączenie do AdventureWorksLT bazy danych, wybierz to połączenie i kliknij przycisk Dalej.

    W przeciwnym razie kliknij przycisk Nowego połączeniai używać Dodawanie połączenia okno dialogowe, aby utworzyć nowe połączenie.Aby uzyskać więcej informacji, zobacz Porady: łączenie z danymi w bazie danych.

  5. W Zapisać pliku konfiguracyjnego aplikacji ciągu połączenia strona, kliknij przycisk Dalej.

  6. W Wybierz obiekty bazy danych użytkownika strony, rozwiń węzeł tabele i wybierz adres (SalesLT).

  7. Kliknij Zakończ.

    Plik AdventureWorksLTDataSet.xsd jest dodawany do Solution Explorer.Ten plik definiuje następujące elementy:

    • Wpisane zestawu danych o nazwie AdventureWorksLTDataSet.Tego zestawu danych reprezentuje zawartość adres (SalesLT) AdventureWorksLT bazy danych.

    • A TableAdapter named AddressTableAdapter.To TableAdapter służy do odczytu i zapisu danych AdventureWorksLTDataSet.Aby uzyskać więcej informacji, zobacz TableAdapter — Przegląd.

    Oba te obiekty użyje dalej w tym instruktażu.

Tworzenia formantów i powiązaniem formantów z danych

Do wykonania tej procedury ListObject sterowania Wyświetla wszystkie dane w tabeli zaznaczonej tak szybko, jak użytkownik otworzy skoroszyt.Używa obiektu list BindingSource do połączenia z bazą danych formantu.

Aby uzyskać więcej informacji o formantach wiązania z danymi, zobacz Wiązanie danych do formantów w rozwiązaniach pakietu Office.

Aby dodać obiekt listy zestawu danych oraz karty tabeli

  1. W ThisAddIn klasę, zadeklarować następujące formanty do wyświetlania Address spis AdventureWorksLTDataSet zestawu danych.

    Private addressListObject As Microsoft.Office.Tools.Excel.ListObject
    Private adventureWorksDataSet As AdventureWorksLTDataSet
    Private addressTableAdapter As AdventureWorksLTDataSetTableAdapters.AddressTableAdapter
    Private addressBindingSource As System.Windows.Forms.BindingSource
    
    private Microsoft.Office.Tools.Excel.ListObject addressListObject;
    private AdventureWorksLTDataSet adventureWorksDataSet;
    private AdventureWorksLTDataSetTableAdapters.AddressTableAdapter addressTableAdapter;
    private System.Windows.Forms.BindingSource addressBindingSource;
    
  2. W ThisAddIn_Startup metody, Dodaj następujący kod do inicjowania zestawu danych i wypełnić zestaw danych z informacjami z AdventureWorksLTDataSet zestawu danych.

    Me.addressTableAdapter = New AdventureWorksLTDataSetTableAdapters.AddressTableAdapter()
    Me.adventureWorksDataSet = New AdventureWorksLTDataSet()
    Me.addressTableAdapter.Fill(Me.adventureWorksDataSet.Address)
    Me.addressBindingSource = New System.Windows.Forms.BindingSource()
    
    this.addressTableAdapter = new AdventureWorksLTDataSetTableAdapters.AddressTableAdapter();
    this.adventureWorksDataSet = new AdventureWorksLTDataSet();
    this.addressTableAdapter.Fill(this.adventureWorksDataSet.Address);
    this.addressBindingSource = new System.Windows.Forms.BindingSource();
    
  3. Dodaj następujący kod do ThisAddIn_Startup metoda.Spowoduje to wygenerowanie element hosta, która rozszerza arkusza.Aby uzyskać więcej informacji, zobacz Rozszerzanie dokumentów programu Word i skoroszytów w programie Excel w czasie wykonywania w dodatkach na poziomie aplikacji.

    Dim worksheet As Excel.Worksheet = DirectCast(Me.Application.ActiveWorkbook.Worksheets(1), Excel.Worksheet)
    
            ' Create a workhseet host item. 
            Dim extendedWorksheet As Worksheet = Globals.Factory.GetVstoObject(worksheet)
    
                Excel.Worksheet worksheet = (Excel.Worksheet)this.Application.ActiveWorkbook.Worksheets[1];
                // Create a workhseet host item.
                Worksheet extendedWorksheet = Globals.Factory.GetVstoObject(worksheet);
    
  4. Utwórz zakres i dodać ListObject kontroli.

    Dim cell As Excel.Range = extendedWorksheet.Range("$A$1:$G$5", System.Type.Missing)
    Me.addressListObject = extendedWorksheet.Controls.AddListObject(cell, "list1")
    
    Excel.Range cell = extendedWorksheet.Range["$A$1:$G$5"];
    this.addressListObject = extendedWorksheet.Controls.AddListObject(cell, "list1");
    
  5. Powiązać obiekt listy do AdventureWorksLTDataSet za pomocą BindingSource.Należy przekazać w nazwy kolumn, które chcesz powiązać obiekt listy.

    Me.addressBindingSource.DataSource = Me.adventureWorksDataSet.Address
    Me.addressListObject.AutoSetDataBoundColumnHeaders = True 
    Me.addressListObject.SetDataBinding( _
        Me.addressBindingSource, "", "AddressID", "AddressLine1", _
        "AddressLine2", "City", "StateProvince", "CountryRegion", "PostalCode")
    
    this.addressBindingSource.DataSource = this.adventureWorksDataSet.Address;
    this.addressListObject.AutoSetDataBoundColumnHeaders = true;
    this.addressListObject.SetDataBinding(
        this.addressBindingSource, "", "AddressID", "AddressLine1", 
        "AddressLine2", "City", "StateProvince", "CountryRegion", "PostalCode");
    

Testowanie dodatek programu

Po uruchomieniu programu Excel, ListObject sterowania wyświetla dane z Address spis AdventureWorksLTDataSet zestawu danych.

Aby przetestować dodatek

  • Press F5.

    A ListObject kontrolki o nazwie addressListObject jest tworzony w arkuszu.W tym samym czasie, obiekt dataset, o nazwie adventureWorksLTDataSet i BindingSource o nazwie addressBindingSource są dodawane do projektu.ListObject Jest powiązany z BindingSource, które z kolei wiąże się obiektu dataset.

Zobacz też

Zadania

Porady: zapełnianie arkuszy danymi z bazy danych

Porady: zapełnianie dokumentów danymi z bazy danych

Porady: zapełnianie dokumentów danymi z usług

Porady: zapełnianie dokumentów danymi z obiektów

Porady: przewijanie rekordów bazy danych w arkuszu

Porady: aktualizowanie źródła danych danymi z formanty hosta

Wskazówki: proste powiązanie danych w projektach na poziomie dokumentów

Wskazówki: złożone powiązanie danych w projektach na poziomie dokumentów

Informacje

BindingSource — Informacje o składniku

Koncepcje

Korzystanie z plików lokalnej bazy danych w rozwiązaniach pakietu Office ― Omówienie

Źródła danych — Przegląd

Powiązywanie formantów formularzy systemu Windows z danymi w Visual Studio

Korzystanie z plików lokalnej bazy danych w rozwiązaniach pakietu Office ― Omówienie

Łączenie z danymi w aplikacjach formularzy systemu Windows

Inne zasoby

Dane w rozwiązaniach pakietu Office

Wiązanie danych do formantów w rozwiązaniach pakietu Office