Návod: Jednoduché 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 dokumentu aplikace Microsoft Office Word 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 ve Wordu 2013 a ve Wordu 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í ContentControl do dokumentu za běhu.

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

  • Povolení uživateli procházet záznamy a jejich zobrazení v ovládacím prvku.

[!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 doplňku aplikace Word.

Chcete-li vytvořit nový projekt

  1. Vytvořte projekt doplňku aplikace Word s názvem vyplnění dokumentů z databáze pomocí jazyka Visual Basic nebo C#.

    Další informace naleznete v tématu Postupy: Vytváření projektů pro systém Office v prostředí Visual Studio.

    Visual Studio otevře soubor ThisAddIn.vb nebo ThisAddIn.cs a přidá vyplnění dokumentů z databáze projektu na Průzkumníku.

  2. Pokud projekt cílen .NET Framework 4 nebo .NET Framework 4,5, přidejte odkaz na sestavení Microsoft.Office.Tools.Word.v4.0.Utilities.dll.Chcete-li programově přidat ovládací prvky model Windows Forms do dokumentu dále v tomto návodu je tento odkaz vyžadován.

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 zákazníka (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 zákazníka (SalesLT) tabulky v databázi AdventureWorksLT.

    • A TableAdapter named CustomerTableAdapter.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

Rozhraní pro zobrazení záznamů databáze v tomto návodu je velmi jednoduché a je vytvořen vpravo uvnitř dokumentu.Jeden ContentControl zobrazí záznam v jedné databázi v době a dva Button ovládací prvky umožňují procházet záznamy tam a zpět.Používá ovládací prvek obsahu BindingSource pro připojení 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 vytvořit rozhraní v dokumentu

  1. V ThisAddIn třídou, deklarujte ovládací prvky pro zobrazení a procházení Customer tabulky AdventureWorksLTDataSet databáze.

    Private adventureWorksDataSet As AdventureWorksLTDataSet
    Private customerTableAdapter As AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter
    Private customerBindingSource As System.Windows.Forms.BindingSource
    Private customerContentControl As Microsoft.Office.Tools.Word.RichTextContentControl
    Private WithEvents button1 As Microsoft.Office.Tools.Word.Controls.Button
    Private WithEvents button2 As Microsoft.Office.Tools.Word.Controls.Button
    
    private AdventureWorksLTDataSet adventureWorksDataSet;
    private AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter customerTableAdapter;
    private System.Windows.Forms.BindingSource customerBindingSource;
    private Microsoft.Office.Tools.Word.RichTextContentControl customerContentControl;
    private Microsoft.Office.Tools.Word.Controls.Button button1;
    private Microsoft.Office.Tools.Word.Controls.Button button2;
    
  2. V ThisAddIn_Startup metodu, přidejte následující kód k inicializaci objektu dataset, vyplňte objekt dataset s informacemi z AdventureWorksLTDataSet databáze.

    Me.adventureWorksDataSet = New AdventureWorksLTDataSet()
    Me.customerTableAdapter = New AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter()
    Me.customerTableAdapter.Fill(Me.adventureWorksDataSet.Customer)
    Me.customerBindingSource = New System.Windows.Forms.BindingSource()
    
    this.adventureWorksDataSet = new AdventureWorksLTDataSet();
    this.customerTableAdapter = new AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter();
    this.customerTableAdapter.Fill(this.adventureWorksDataSet.Customer);
    this.customerBindingSource = 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 dokumentu.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 currentDocument As Word.Document = Me.Application.ActiveDocument
    
            Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument)
    
                Word.Document currentDocument = this.Application.ActiveDocument;
    
                Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
  4. Definujte několik oblastí na začátku dokumentu.Tyto rozsahy určit, kam chcete vložit text a umístit ovládací prvky.

    extendedDocument.Paragraphs(1).Range.InsertParagraphBefore()
    extendedDocument.Paragraphs(1).Range.InsertParagraphBefore()
    extendedDocument.Paragraphs(1).Range.Text = "The companies listed in the AdventureWorksLT database:   "
    extendedDocument.Paragraphs(2).Range.Text = "  " 
    
    Dim range1 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.First
    Dim range2 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.Last
    Dim range3 As Word.Range = extendedDocument.Paragraphs(1).Range.Characters.Last
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    extendedDocument.Paragraphs[1].Range.Text = 
        "The companies listed in the AdventureWorksLT database:   \n";
    extendedDocument.Paragraphs[2].Range.Text = "  "; 
    
    Word.Range range1 = extendedDocument.Paragraphs[2].Range.Characters.First;
    Word.Range range2 = extendedDocument.Paragraphs[2].Range.Characters.Last;
    Word.Range range3 = extendedDocument.Paragraphs[1].Range.Characters.Last;
    
  5. Přidejte ovládací prvky rozhraní dříve definované oblasti.

    Me.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1")
    Me.button1.Text = "Previous" 
    Me.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2")
    Me.button2.Text = "Next" 
    
    Me.customerContentControl = extendedDocument.Controls.AddRichTextContentControl(range3, _
        "richTextContentControl1")
    
    this.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1");
    this.button1.Text = "Previous";
    this.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2");
    this.button2.Text = "Next";
    
    this.customerContentControl = extendedDocument.Controls.AddRichTextContentControl(
        range3, "richTextContentControl1");
    
  6. Svázat ovládací prvek obsahu AdventureWorksLTDataSet s použitím BindingSource.Pro C# vývojáře, přidejte dvě obslužné rutiny událostí pro Button ovládací prvky.

    Me.customerBindingSource.DataSource = Me.adventureWorksDataSet.Customer
    Me.customerContentControl.DataBindings.Add("Text", Me.customerBindingSource, _
        "CompanyName", True, Me.customerContentControl.DataBindings.DefaultDataSourceUpdateMode)
    
    this.customerBindingSource.DataSource = this.adventureWorksDataSet.Customer;
    this.customerContentControl.DataBindings.Add("Text", this.customerBindingSource, 
        "CompanyName", true, this.customerContentControl.DataBindings.DefaultDataSourceUpdateMode);
    
    this.button1.Click += new EventHandler(button1_Click);
    this.button2.Click += new EventHandler(button2_Click);
    
  7. Přidejte následující kód k přecházení mezi záznamy v databázi.

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
        Handles button1.Click
        Me.customerBindingSource.MovePrevious()
    End Sub 
    
    Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs) _
        Handles button2.Click
        Me.customerBindingSource.MoveNext()
    End Sub
    
    void button1_Click(object sender, EventArgs e)
    {
        this.customerBindingSource.MovePrevious();
    }
    
    void button2_Click(object sender, EventArgs e)
    {
        this.customerBindingSource.MoveNext();
    }
    

Testování doplněk

Při otevření aplikace Word na ovládací prvek obsahu zobrazuje data z AdventureWorksLTDataSet objektu dataset.Procházení záznamů v databázi klepnutím Další a předchozí tlačítka.

Chcete-li vyzkoušet doplněk

  1. Stiskněte tlačítko F5.

    Ovládací prvek obsahu s názvem customerContentControl je vytvořen a naplněn daty.Současně, objekt dataset s názvem adventureWorksLTDataSet a BindingSource s názvem customerBindingSource jsou přidány do projektu.ContentControl Je vázán BindingSource, který je zase vázán na objekt dataset.

  2. Klepněte Další a předchozí tlačítka Procházet záznamy databáze.

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

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

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

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