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:
Edice Visual Studia 2013, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace najdete v tématu Konfigurace počítače pro vývoj řešení pro systém Office.
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 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.
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 Postupy: Připojování 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 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
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í 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);
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
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
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