Názorný postup: Jednoduchá vazba na Data v projektu 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 v aplikacích Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace 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]
Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
-
Edice sady Visual Studio 2012, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace naleznete v tématu [Konfigurace počítače vyvinout řešení Office](bb398242\(v=vs.110\).md).
Word 2013 nebo Word 2010.
Přístup ke spuštěné instanci serveru SQL Server 2005 nebo SQL Server 2005 Express, která má AdventureWorksLT ukázkové databáze, které jsou k němu připojené.Můžete stáhnout AdventureWorksLT z databáze webu CodePlex.Další informace o připojení databáze naleznete v následujících tématech:
Připojení databáze pomocí SQL Server Management Studio nebo SQL Server Management Studio Express, viz Postup: připojení databáze (SQL SQL Server Management Studio).
Připojení databáze pomocí příkazového řádku, viz jak: připojit k serveru SQL Server Express databázový soubor.
Vytvoření nového projektu
První krok je vytvořit projekt doplňku aplikace Word.
Chcete-li vytvořit nový projekt
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 Jak: vytvoření Office projekty v aplikaci 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.
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.
Pokud Zdroje dat okno není zobrazen, zobrazit, na nabídek, výběr zobrazení, Ostatní okna, Zdroje dat.
Zvolte Přidat nový zdroj dat ke spuštění Průvodce konfigurací zdroje dat.
Klepněte na tlačítko databázea potom klepněte na tlačítko Další.
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 Jak: připojení k datům v databázi.
V Uložit připojovací řetězec do konfiguračního souboru aplikace stránky, klepněte na tlačítko Další.
V Zvolte vaše databázové objekty stránky, rozbalte položku tabulky a vyberte zákazníka (SalesLT).
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 Přehled TableAdapter.
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 Vazba dat pro ovládací prvky v Office Solutions.
Chcete-li vytvořit rozhraní v dokumentu
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;
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();
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í dokumenty aplikace Word a Excel v doplňky úroveň aplikace v době spuštění.
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);
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;
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");
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);
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
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.
Klepněte Další a předchozí tlačítka Procházet záznamy databáze.
Viz také
Úkoly
Jak: naplnění tabulky s daty z databáze
Jak: naplnit dokumenty s daty z databáze
Jak: naplnit dokumenty s daty ze služby
Jak: naplnit dokumenty s daty z objektů
Jak: Procházet záznamy databáze v listu
Jak: aktualizovat daty z hostitele ovládací prvek zdroje dat
Názorný postup: Jednoduchá vazba na Data v projektu na úrovni dokumentu
Názorný postup: Komplexní datové vazby v úrovni dokumentu projektu
Jak: naplnit dokumenty s daty z objektů
Jak: aktualizovat daty z hostitele ovládací prvek zdroje dat
Referenční dokumentace
Přehled součásti objektu BindingSource
Koncepty
Použití místní soubory databáze v přehled řešení sady Office
Vazba na Data v aplikaci Visual Studio model Windows Forms prvky
Použití místní soubory databáze v přehled řešení sady Office
Připojení k datům v model Windows Forms aplikacích