Návod: Vytvoření vazby dat k ovládacím prvkům v podokně akcí aplikace Word
Tento názorný postup ukazuje datovou vazbu k ovládacím prvkům v podokně akcí ve Wordu. Ovládací prvky demonstrují vztah mezi tabulkami v databázi SQL Serveru.
Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu 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:
Vytvoření podokna akcí s ovládacími prvky model Windows Forms, které jsou svázané s daty.
Zobrazení dat v ovládacích prvcích pomocí relace předlohy a podrobností
Když se aplikace otevře, zobrazí podokno akcí.
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í sady Visual Studio.
Požadavky
K dokončení tohoto návodu budete potřebovat následující komponenty:
Edice Visual Studia, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace najdete v tématu Konfigurace počítače pro vývoj řešení Office.
Word 2013 nebo Word 2010 .
Přístup k serveru pomocí ukázkové databáze Northwind SQL Serveru
Oprávnění ke čtení a zápisu do databáze SQL Serveru.
Vytvoření projektu
Prvním krokem je vytvoření projektu wordového dokumentu.
Vytvoření nového projektu
Vytvořte projekt wordového dokumentu s názvem Podokno Moje akce aplikace Word. V průvodci vyberte Vytvořit nový dokument.
Další informace naleznete v tématu Postupy: Vytváření projektů Office v sadě Visual Studio.
Visual Studio otevře nový wordový dokument v návrháři a přidá projekt podokna Akcí aplikace Word do Průzkumník řešení.
Přidání ovládacích prvků do podokna akcí
Pro účely tohoto názorného postupu potřebujete ovládací prvek podokna akcí, který obsahuje ovládací prvky vázané na data model Windows Forms. Přidejte do projektu zdroj dat a přetáhněte ovládací prvky z okna Zdroje dat do ovládacího prvku podokna akcí.
Přidání ovládacího prvku podokna akcí
V Průzkumník řešení vyberte projekt Podokno Moje akce aplikace Word.
V nabídce Projekt klepněte na tlačítko Přidat novou položku.
V dialogovém okně Přidat novou položku vyberte ovládací prvek Podokno akcí, pojmenujte ho ActionsControl a klepněte na tlačítko Přidat.
Přidání zdroje dat do projektu
Pokud okno Zdroje dat není viditelné, zobrazte ho na řádku nabídek a zvolte Zobrazit>jiné zdroje dat Windows.>
Poznámka:
Pokud možnost Zobrazit zdroje dat není k dispozici, klikněte na dokument aplikace Word a potom akci opakujte.
Kliknutím na přidat nový zdroj dat spusťte Průvodce konfigurací zdroje dat.
Vyberte Databázi a potom klepněte na tlačítko Další.
Vyberte datové připojení k ukázkové databázi SQL Serveru Northwind nebo přidejte nové připojení pomocí tlačítka Nový Připojení ion.
Klikněte na tlačítko Další.
Zrušte zaškrtnutí políčka uložit připojení, pokud je vybrané, a potom klepněte na tlačítko Další.
Rozbalte uzel Tabulky v okně Databázové objekty.
Zaškrtněte políčko vedle tabulek Dodavatelé a Produkty .
Klikněte na Finish (Dokončit).
Průvodce přidá tabulku Dodavatelé a Produkty do okna Zdroje dat. Přidá do projektu také datovou sadu typu, která je viditelná v Průzkumník řešení.
Přidání ovládacích prvků vázaných model Windows Forms na data do ovládacího prvku podokna akcí
V okně Zdroje dat rozbalte tabulku Dodavatelé .
Klikněte na šipku rozevíracího seznamu na uzlu Název společnosti a vyberte Pole se seznamem.
Přetáhněte Název společnosti z okna Zdroje dat do ovládacího prvku podokna akcí.
Ovládací ComboBox prvek se vytvoří v ovládacím prvku podokna akcí. Současně se do projektu v zásobníku komponent přidá pojmenovaný BindingSource
SuppliersBindingSource
adaptér tabulky a do DataSet projektu.Vyberte
SuppliersBindingNavigator
v zásobníku komponent a stiskněte Klávesu Delete. V tomto názornémSuppliersBindingNavigator
postupu nebudete používat.Poznámka:
SuppliersBindingNavigator
Odstranění neodebere veškerý kód, který byl pro něj vygenerován. Tento kód můžete odebrat.Přesuňte pole se seznamem tak, aby bylo pod popiskem, a změňte vlastnost Velikost na 171, 21.
V okně Zdroje dat rozbalte tabulku Produkty, která je podřízenou tabulkou Dodavatelů.
Klikněte na šipku rozevíracího seznamu na uzlu ProductName a vyberte ListBox.
Přetáhněte ProductName do ovládacího prvku podokna akcí.
Ovládací ListBox prvek se vytvoří v ovládacím prvku podokna akcí. Ve stejnou dobu se do projektu v zásobníku komponent přidá pojmenovaný BindingSource
ProductBindingSource
adaptér a adaptér tabulky.Přesuňte seznam tak, aby byl pod popiskem a změnil vlastnost Velikost na 171 95.
Button Přetáhněte panel nástrojů z panelu nástrojů do ovládacího prvku podokna akcí a umístěte ho pod seznam.
Klikněte pravým tlačítkem myši na Buttonpříkaz Vlastnosti v místní nabídce a změňte následující vlastnosti.
Vlastnost Hodnota Název Insert Text Insert Změňte velikost uživatelského ovládacího prvku tak, aby odpovídal ovládacím prvkům.
Nastavení zdroje dat
Chcete-li nastavit zdroj dat, přidejte kód do Load události ovládacího prvku podokna akcí, který vyplní ovládací prvek daty z objektu DataTablea nastaví DataSource vlastnosti DataMember pro každý ovládací prvek.
Načtení ovládacího prvku daty
Load Do obslužné rutiny
ActionsControl
události třídy přidejte následující kód.V jazyce C# musíte k události připojit obslužnou rutinu Load události. Tento kód můžete umístit do konstruktoru
ActionsControl
za voláníInitializeComponent
. Další informace o vytváření obslužných rutin událostí naleznete v tématu Postupy: Vytváření obslužných rutin událostí v projektech Office.this.Load += new EventHandler(ActionsControl_Load);
Nastavení vlastností datové vazby ovládacích prvků
CompanyNameComboBox
Vyberte ovládací prvek.V okně Vlastnosti klikněte na tlačítko napravo od vlastnosti DataSource a vyberte suppliersBindingSource.
Klikněte na tlačítko napravo od vlastnosti DisplayMember a vyberte CompanyName.
Rozbalte vlastnost DataBindings, klikněte na tlačítko napravo od vlastnosti Text a vyberte None.
ProductNameListBox
Vyberte ovládací prvek.V okně Vlastnosti klikněte na tlačítko napravo od vlastnosti DataSource a vyberte productsBindingSource.
Klikněte na tlačítko napravo od vlastnosti DisplayMember a vyberte ProductName.
Rozbalte vlastnost DataBindings, klikněte na tlačítko napravo od SelectedValue vlastnost a vyberte None.
Přidání metody pro vložení dat do tabulky
Dalším úkolem je číst data z vázaných ovládacích prvků a naplnit tabulku ve wordovém dokumentu. Nejprve vytvořte proceduru pro formátování nadpisů v tabulce a pak přidejte metodu AddData
pro vytvoření a naformátování wordové tabulky.
Formátování záhlaví tabulky
ActionsControl
Ve třídě vytvořte metodu pro formátování nadpisů tabulky.
Vytvoření tabulky
ActionsControl
Ve třídě napište metodu, která vytvoří tabulku, pokud ještě neexistuje, a přidejte data z podokna akcí do tabulky.private void AddData(System.Data.DataRow row, string companyName) { object missing = System.Type.Missing; // Create a table if it doesn't already exist. if (Globals.ThisDocument.Tables.Count == 0) { try { // Create a table. Microsoft.Office.Interop.Word.Table tbl = Globals.ThisDocument.Tables.Add (Globals.ThisDocument.Application.Selection.Range, 1, 4, ref missing, ref missing); // Insert headings. SetHeadings(tbl.Cell(1, 1), "Company Name"); SetHeadings(tbl.Cell(1, 2), "Product Name"); SetHeadings(tbl.Cell(1, 3), "Quantity"); SetHeadings(tbl.Cell(1, 4), "Unit Price"); } catch (Exception ex) { MessageBox.Show("Problem creating Products table: " + ex.Message, "Actions Pane", MessageBoxButtons.OK, MessageBoxIcon.Error); } } // Add data from data row to the table. Microsoft.Office.Interop.Word.Selection selection = Globals.ThisDocument.Application.Selection; if (selection.Tables.Count > 0) { Microsoft.Office.Interop.Word.Row newRow = Globals.ThisDocument.Tables[1].Rows.Add(ref missing); newRow.Range.Font.Bold = 0; newRow.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; newRow.Cells[4].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight; newRow.Cells[1].Range.Text = companyName; newRow.Cells[2].Range.Text = row["ProductName"].ToString(); newRow.Cells[3].Range.Text = row["QuantityPerUnit"].ToString(); newRow.Cells[4].Range.Text = Math.Round(Convert.ToDouble(row["UnitPrice"])).ToString("#,##0.00"); } else { MessageBox.Show("Cursor must be within a table.", "Actions Pane", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
Vložení textu do wordové tabulky
Do obslužné rutiny události tlačítka Insert přidejte následující kódClick.
private void Insert_Click(object sender, System.EventArgs e) { System.Data.DataTable tbl = northwindDataSet.Products; System.Data.DataRow[] rows; // Check if a product is selected. if (this.productNameListBox.SelectedIndex >= 0) { System.Data.DataRowView productRow = (System.Data.DataRowView)this.productNameListBox.SelectedItem; string product = productRow.Row["ProductName"].ToString(); string company = this.companyNameComboBox.Text; // Return the data row from the selected product. rows = tbl.Select("[ProductName] = '" + product.Replace("'", "''") + "'"); this.AddData(rows[0], company); } else { MessageBox.Show("Please select a product.", "Actions Pane", MessageBoxButtons.OK); } }
V jazyce C# musíte vytvořit obslužnou rutinu události pro Click událost tlačítka. Tento kód můžete umístit do Load obslužné rutiny
ActionsControl
události třídy.this.Insert.Click += new EventHandler(Insert_Click);
Zobrazení podokna akcí
Podokno akcí se po přidání ovládacích prvků zobrazí.
Zobrazení podokna akcí
V Průzkumník řešení klepněte pravým tlačítkem myši ThisDocument.vb nebo ThisDocument.cs a potom klepněte na tlačítko Zobrazit kód v místní nabídce.
Vytvořte novou instanci ovládacího prvku v horní části
ThisDocument
třídy, aby vypadala jako v následujícím příkladu.Přidejte kód do Startup obslužné rutiny
ThisDocument
události tak, aby vypadal jako v následujícím příkladu.
Testování aplikace
Teď můžete dokument otestovat a ověřit, že se při otevření dokumentu zobrazí podokno akcí. Otestujte relaci předlohy a podrobností v ovládacích prvcích v podokně akcí a ujistěte se, že jsou data vyplněná ve wordové tabulce po kliknutí na tlačítko Vložit .
Otestování dokumentu
Stisknutím klávesy F5 spusťte projekt.
Ověřte, že je podokno akcí viditelné.
V poli se seznamem vyberte společnost a ověřte, zda se položky v seznamu Produkty změní.
Vyberte produkt, klikněte v podokně akcí na Vložit a ověřte, že se podrobnosti o produktu přidají do tabulky ve Wordu.
Vložte další produkty od různých společností.
Další kroky
Tento názorný postup ukazuje základy vazby dat k ovládacím prvkům v podokně akcí ve Wordu. Tady je několik úkolů, které můžou přicházet dál:
Vytvoření vazby dat k ovládacím prvkům v Excelu Další informace naleznete v tématu Návod: Vytvoření vazby dat k ovládacím prvkům v podokně akcí aplikace Excel.
Nasazení projektu Další informace naleznete v tématu Nasazení řešení Office pomocí ClickOnce.