Sdílet prostřednictvím


Návod: Rozšířené datové vazby v projektech na úrovni aplikace

Vázání dat hostitele ovládací prvky a ovládací prvky model Windows Forms v projekty na úrovni aplikace.Tento návod ukazuje, jak přidat ovládací prvky do listu aplikace Microsoft Office Excel a svázat ovládací prvky na data v době běhu.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni aplikace v Excelu 2013 a v Excelu 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.

Tento návod ilustruje následující úkoly:

  • Přidání ListObject ovládací prvek na listu v době běhu.

  • Vytváření BindingSource , ovládací prvek připojí k instanci objektu dataset.

[!POZNÁMKA]

Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

Vytvoření nového projektu

První krok je vytvořit projekt doplněk aplikace Excel.

Chcete-li vytvořit nový projekt

Vytvoření datového zdroje

Použití Zdroje dat okno pro přidání do projektu definovanou datovou sadu.

Chcete-li přidat do projektu definovanou datovou sadu.

  1. Pokud Zdroje dat okno není zobrazen, zobrazit, na nabídek, výběr zobrazení, Ostatní okna, Zdroje dat.

  2. Zvolte Přidat nový zdroj dat ke spuštění Průvodce konfigurací zdroje dat.

  3. Klepněte na tlačítko databázea potom klepněte na tlačítko Další.

  4. Pokud máte existující připojení k AdventureWorksLT databáze, zvolte toto připojení a klepněte na tlačítko Další.

    V opačném případě klepněte na tlačítko Nové připojenía použít Přidat připojení dialogové okno k vytvoření nového připojení.Další informace naleznete v tématu Postupy: Připojování k datům v databázi.

  5. V Uložit připojovací řetězec do konfiguračního souboru aplikace stránky, klepněte na tlačítko Další.

  6. V Zvolte vaše databázové objekty stránky, rozbalte položku tabulky a vyberte adresu (SalesLT).

  7. Klepněte na tlačítko Dokončit.

    Soubor AdventureWorksLTDataSet.xsd je přidán do Průzkumníku.Tento soubor definuje následující položky:

    • Zadaný objekt dataset s názvem AdventureWorksLTDataSet.Tento objekt dataset představuje obsah adresu (SalesLT) tabulky v databázi AdventureWorksLT.

    • A TableAdapter named AddressTableAdapter.To TableAdapter lze použít ke čtení a zápisu dat v AdventureWorksLTDataSet.Další informace naleznete v tématu TableAdapter – přehled.

    Oba tyto objekty bude používat později v tomto návodu.

Vytváření ovládacích prvků a vázáním ovládacích prvků na Data

V tomto návodu ListObject ovládací prvek zobrazí všechna data v tabulce, které jste vybrali, jakmile uživatel otevře sešit.Objekt seznamu používá BindingSource na ovládací prvek připojíte k databázi.

Další informace o vázání ovládacích prvků na data naleznete v tématu Vázání dat k ovládacím prvkům v řešeních pro systém Office.

Chcete-li přidat seznamu objekt, objekt dataset a tabulky adaptéru

  1. V ThisAddIn třídou, deklarujte ovládací prvky pro zobrazení Address tabulky AdventureWorksLTDataSet dataset.

    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. V ThisAddIn_Startup metodu, přidejte následující kód k inicializaci objektu dataset a vyplnit dataset s informacemi z AdventureWorksLTDataSet objektu dataset.

    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. Do metody ThisAddIn_Startup přidejte následující kód:Tím se vytvoří položku hostitele, která rozšiřuje listu.Další informace naleznete v tématu Rozšíření dokumentů aplikace Word a sešitů aplikace Excel v doplňcích na úrovni aplikace za běhu.

    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. Vytvoření oblasti a přidat ListObject ovládacího prvku.

    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. Vytvořit vazbu na objekt seznamu AdventureWorksLTDataSet s použitím BindingSource.Předat názvy sloupců, které chcete vytvořit vazbu na objekt seznamu.

    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");
    

Testování doplněk

Při spuštění aplikace Excel, ListObject ovládací prvek zobrazuje data z Address tabulky AdventureWorksLTDataSet objektu dataset.

Chcete-li vyzkoušet doplněk

  • Stiskněte tlačítko F5.

    A ListObject ovládací prvek s názvem addressListObject vytvořili v sešitě.Současně, objekt dataset s názvem adventureWorksLTDataSet a BindingSource s názvem addressBindingSource jsou přidány do projektu.ListObject Je vázán BindingSource, který je zase vázán na objekt dataset.

Viz také

Úkoly

Postupy: Naplnění listů daty z databáze

Postupy: Naplnění dokumentů daty z databáze

Postupy: Naplnění dokumentů daty ze služeb

Postupy: Naplnění dokumentů daty z objektů

Postupy: Procházení databázových záznamů na listu

Postupy: Aktualizace zdroje dat s použitím dat z hostitelského ovládacího prvku

Návod: Jednoduché datové vazby v projektech na úrovni dokumentu

Návod: Rozšířené datové vazby v projektech na úrovni dokumentu

Referenční dokumentace

BindingSource – přehled komponenty

Koncepty

Přehled použití místních souborů databáze v řešeních pro systém Office

Přehled zdrojů dat

Vázání ovládacích prvků Windows Forms k datům v sadě Visual Studio

Přehled použití místních souborů databáze v řešeních pro systém Office

Připojení k datům v aplikacích Windows Forms

Další zdroje

Data v řešeních pro systém Office

Vázání dat k ovládacím prvkům v řešeních pro systém Office