Sdílet prostřednictvím


Návod: Jednoduchá datová vazba v projektu doplňku VSTO

Data můžete svázat s hostitelskými ovládacími prvky a model Windows Forms ovládací prvky v projektech doplňků VSTO. Tento návod ukazuje, jak přidat ovládací prvky do systém Microsoft Office wordového dokumentu a svázat ovládací prvky s daty za běhu.

Platí pro: Informace v tomto tématu platí pro projekty doplňků VSTO pro Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Tento návod znázorňuje následující úlohy:

  • ContentControl Přidání dokumentu za běhu

  • Vytvoření BindingSource ovládacího prvku, který připojí ovládací prvek k instanci datové sady

  • Umožňuje uživateli procházet záznamy a zobrazovat je v ovládacím prvku.

Poznámka:

Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace naleznete v tématu Přizpůsobení integrovaného vývojového prostředí (IDE).

Požadavky

K dokončení tohoto návodu budete potřebovat následující komponenty:

Vytvoření nového projektu

Prvním krokem je vytvoření projektu doplňku Word VSTO.

Vytvoření nového projektu

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

    Další informace naleznete v tématu Postupy: Vytváření projektů Office v sadě Visual Studio.

    Visual Studio otevře soubor ThisAddIn.vb nebo ThisAddIn.cs a přidá do Průzkumník řešení naplnění dokumentů z databázového projektu.

  2. Pokud váš projekt cílí na rozhraní .NET Framework 4 nebo .NET Framework 4.5, přidejte odkaz na sestavení Microsoft.Office.Tools.Word.v4.0.Utilities.dll . Tento odkaz se vyžaduje k programovému přidání ovládacích prvků model Windows Forms do dokumentu dále v tomto návodu.

Vytvoření zdroje dat

Pomocí okna Zdroje dat přidejte do projektu typovou datovou sadu.

Přidání typové datové sady do projektu

  1. Pokud okno Zdroje dat není viditelné, zobrazte ho na řádku nabídek a zvolte Zobrazit>jiné zdroje dat Windows.>

  2. Zvolte Přidat nový zdroj dat a spusťte Průvodce konfigurací zdroje dat.

  3. Klepněte na položku Databáze a potom klepněte na tlačítko Další.

  4. Pokud máte existující připojení k AdventureWorksLT databázi, zvolte toto připojení a klikněte na Další.

    V opačném případě klepněte na tlačítko Nový Připojení ion a pomocí dialogového okna Přidat Připojení ion vytvořte nové připojení. Další informace najdete v tématu Přidání nových připojení.

  5. Na stránce Uložit řetězec Připojení ionu na stránce Konfigurační soubor aplikace klikněte na tlačítko Další.

  6. Na stránce Zvolit databázové objekty rozbalte tabulky a vyberte Customer (SalesLT).

  7. Klikněte na Finish (Dokončit).

    Do Průzkumník řešení se přidá soubor AdventureWorksLTDataSet.xsd. Tento soubor definuje následující položky:

    • Typová datová sada s názvem AdventureWorksLTDataSet. Tato datová sada představuje obsah tabulky Customer (SalesLT) v databázi AdventureWorksLT.

    • A TableAdapter s názvem CustomerTableAdapter. Tento TableAdapter lze použít ke čtení a zápisu dat v souboru AdventureWorksLTDataSet. Další informace naleznete v tématu TableAdapter – přehled.

      Oba tyto objekty použijete později v tomto názorném postupu.

Vytváření ovládacích prvků a vazeb ovládacích prvků s daty

Rozhraní pro zobrazení záznamů databáze v tomto názorném postupu je základní a vytvoří se přímo v dokumentu. Jeden ContentControl zobrazuje jeden záznam databáze najednou a dva Button ovládací prvky umožňují posouvání mezi záznamy a zpět. Ovládací prvek obsahu používá BindingSource pro připojení k databázi.

Další informace o vazbách ovládacích prvků k datům najdete v tématu Vytvoření vazby dat k ovládacím prvkům v řešeních Office.

Vytvoření rozhraní v dokumentu

  1. ThisAddIn Ve třídě deklarujte následující ovládací prvky, které se mají zobrazit a procházet Customer tabulkou AdventureWorksLTDataSet databáze.

    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. ThisAddIn_Startup Do metody přidejte následující kód pro inicializaci datové sady, vyplňte datovou sadu informacemi z AdventureWorksLTDataSet databáze.

    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 vygeneruje hostitelská položka, která dokument rozšiřuje. Další informace naleznete v tématu Rozšíření wordových dokumentů a excelových sešitů v doplňkech VSTO za běhu.

    Word.Document currentDocument = this.Application.ActiveDocument;
    
    Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
  4. Definujte několik oblastí na začátku dokumentu. Tyto oblasti určují, kam 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:   \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í do dříve definovaných oblastí.

    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. Vytvořte vazbu ovládacího prvku obsahu pomocí ovládacího BindingSourceprvku AdventureWorksLTDataSet . Pro vývojáře v jazyce C# přidejte pro Button ovládací prvky dva obslužné rutiny událostí.

    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 pro procházení záznamů databáze.

    void button1_Click(object sender, EventArgs e)
    {
        this.customerBindingSource.MovePrevious();
    }
    
    void button2_Click(object sender, EventArgs e)
    {
        this.customerBindingSource.MoveNext();
    }
    

Otestování doplňku

Když otevřete Word, ovládací prvek obsahu zobrazí data z AdventureWorksLTDataSet datové sady. Procházejte záznamy databáze kliknutím na tlačítka Další a Předchozí .

Otestování doplňku VSTO

  1. Stiskněte klávesu F5.

    Vytvoří se ovládací prvek obsahu s názvem customerContentControl a naplní se daty. Současně se do projektu přidá objekt datové sady s názvem adventureWorksLTDataSet a pojmenovaný BindingSource customerBindingSource objekt. Je ContentControl vázán na BindingSourceobjekt datové sady, který je vázán na objekt datové sady.

  2. Kliknutím na tlačítka Další a Předchozí můžete procházet záznamy databáze.