Vazba dat pro ovládací prvky v Office Solutions
Můžete svázat ovládací prvky model Windows Forms a prvky hostitele v dokumentu Microsoft Office Word nebo Microsoft Office Excel list ke zdroji dat, takže ovládací prvky automaticky zobrazí data.Data můžete svázat ovládací prvky v projekty na úrovni aplikace a úrovni dokumentu.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace v systému Office 2013 a Office 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.
Ovládací prvky hostitel rozšířit objekty, které jsou v aplikaci Word a Excel objektové modely, například ovládací prvky obsahu v aplikaci Word a pojmenované oblasti v aplikaci Excel.Další informace naleznete v tématu Přehled ovládací prvky hostitel a Host položky.
Model Windows Forms a ovládací prvky hostitel používá model Windows Forms model vázání dat, který podporuje obě Jednoduché datové vazby a komplexní datové vazby ke zdrojům dat, jako jsou datové sady a data tabulky.Úplné informace o model vázání dat v model Windows Forms Vazba na data a model Windows Forms.
Související video ukázku naleznete v tématu Jak provést I: spotřebovat Data databáze v aplikaci Excel?.
Jednoduché datové vazby
Jednoduché datové vazby existuje, pokud vlastnost ovládacího prvku je vázán na jeden datový prvek, například hodnota v tabulce data.Například NamedRange má ovládací prvek Value2 vlastnost, která mohou být vázány na pole v objektu dataset.Pokud pole v objektu dataset změní, změní se také hodnoty v pojmenované oblasti.Všechny kromě hostování ovládacích prvků, XMLNodes řízení, podporují jednoduché datové vazby.XMLNodes Ovládací prvek kolekce a proto nepodporuje datové vazby.
Provést jednoduché datové vazby ovládacího prvku hostitele, přidat Binding se DataBindings vlastnost ovládacího prvku.A Binding objekt představuje jednoduché vazby mezi hodnoty vlastnosti ovládacího prvku a hodnotu datový prvek.
Následující příklad ukazuje, jak vytvořit vazbu Value2 vlastnost prvek dat v projektu na úrovni dokumentu.
Dim binding1 As New Binding("Value2", ds, "Customers.Names", True)
namedRange1.DataBindings.Add(binding1)
Binding binding1 = new Binding("Value2", ds, "Customers.Names", true);
namedRange1.DataBindings.Add(binding1);
Návody, který ukazuje jednoduché datové vazby, viz Názorný postup: Jednoduchá vazba na Data v projektu na úrovni dokumentu pro úroveň dokumentů projekt a Názorný postup: Jednoduchá vazba na Data v projektu na úrovni aplikace projektu na úrovni aplikace.
Komplexní datové vazby
Komplexní datové vazby existuje, když je vlastnost ovládacího prvku je vázán na více než jeden prvek dat, například více sloupců v tabulce data.ListObject Ovládání pro aplikaci Excel je pouze hostitelského ovládacího prvku, který podporuje komplexní datové vazby.Existuje také mnoho model Windows Forms ovládací prvky, které podporují komplexní datové vazby, jako DataGridView řízení.
Provádět komplexní datové vazby nastavena DataSource vlastnost ovládacího prvku na objekt zdroje dat podporuje komplexní datové vazby.Například DataSource vlastnost ListObject více sloupců v tabulce dat může být ovládací prvek vázán.Všechna data v tabulce dat se zobrazí v ListObject řízení a jako data v tabulce změní data ListObject také změní.Seznam zdrojů dat, které lze použít pro komplexní datové vazby, viz Zdroje dat podporovaného model Windows Forms.
Následující příklad kódu vytvoří DataSet se dvěma DataTable objekty a naplní jednu z tabulek s daty.Kód poté vytvoří vazbu ListObject tabulky, která obsahuje data.V tomto příkladu je úroveň dokumentu aplikace Excel v projektu.
Private Sub ListObject_DataSourceAndMember()
' Create a DataSet and two DataTables.
Dim ordersDataSet As New DataSet("ordersDataSet")
Dim tableCustomers As New DataTable("Customers")
Dim tableProducts As New DataTable("Products")
ordersDataSet.Tables.Add(tableCustomers)
ordersDataSet.Tables.Add(tableProducts)
' Add a data to the Customers DataTable.
tableCustomers.Columns.Add(New DataColumn("LastName"))
tableCustomers.Columns.Add(New DataColumn("FirstName"))
Dim dr As DataRow = tableCustomers.NewRow()
dr("LastName") = "Chan"
dr("FirstName") = "Gareth"
tableCustomers.Rows.Add(dr)
' Create a list object.
Dim List1 As Microsoft.Office.Tools.Excel.ListObject = _
Me.Controls.AddListObject(Me.Range( _
"A1"), "Customers")
' Bind the list object to the Customers table.
List1.AutoSetDataBoundColumnHeaders = True
List1.DataSource = ordersDataSet
List1.DataMember = "Customers"
End Sub
private void ListObject_DataSourceAndMember()
{
// Create a DataSet and two DataTables.
DataSet ordersDataSet = new DataSet("ordersDataSet");
DataTable tableCustomers = new DataTable("Customers");
DataTable tableProducts = new DataTable("Products");
ordersDataSet.Tables.Add(tableCustomers);
ordersDataSet.Tables.Add(tableProducts);
// Add a data to the Customers DataTable.
tableCustomers.Columns.Add(new DataColumn("LastName"));
tableCustomers.Columns.Add(new DataColumn("FirstName"));
DataRow dr = tableCustomers.NewRow();
dr["LastName"] = "Chan";
dr["FirstName"] = "Gareth";
tableCustomers.Rows.Add(dr);
// Create a list object.
Microsoft.Office.Tools.Excel.ListObject list1 =
this.Controls.AddListObject(
this.Range["A1"], "Customers");
// Bind the list object to the Customers table.
list1.AutoSetDataBoundColumnHeaders = true;
list1.DataSource = ordersDataSet;
list1.DataMember = "Customers";
}
Návody, které ukazují komplexní datové vazby, viz Názorný postup: Komplexní datové vazby v úrovni dokumentu projektu pro úroveň dokumentů projekt a Názorný postup: Komplexní datové vazby v projektu na úrovni aplikace projektu na úrovni aplikace.
Zobrazení dat v dokumenty a sešitů
V projekty na úrovni dokumentu, můžete použít Zdroje dat okno Ovládací prvky vázaných dat snadno přidat dokumenty nebo sešity, stejným způsobem použít pro model Windows Forms.Další informace o použití Zdroje dat okna, viz Vazba na Data v aplikaci Visual Studio model Windows Forms prvky a Okno zdroje dat.
Přetažením ovládacích prvků z okna zdroje dat
Ovládací prvek je vytvořen na dokumentu při přetažení objektu na z Zdroje dat okna.Typ ovládacího prvku, který je vytvořen závisí na zda vazba jednoho sloupce dat nebo více sloupců dat.
V aplikaci Excel NamedRange ovládací prvek je vytvořen na listu pro každé jednotlivé pole a ListObject ovládací prvek je vytvořen pro každou oblast dat, která zahrnuje více řádků a sloupců.Můžete toto výchozí nastavení můžete změnit výběrem tabulky nebo pole v Zdroje dat okna a potom zvolíte jiný ovládací prvek z rozevíracího seznamu.
A ContentControl prvek je přidán do dokumentů.Typ obsahu ovládacího prvku závisí na typu dat pole, které jste vybrali.
Vázání dat v projekty na úrovni dokumentu v době návrhu
Následující témata obsahují příklady vazby dat v době návrhu:
Vázání dat v projekty na úrovni aplikace
V projektech aplikace můžete přidat ovládací prvky pouze v době běhu.Následující témata obsahují příklady vazby dat za běhu:
Názorný postup: Jednoduchá vazba na Data v projektu na úrovni aplikace
Názorný postup: Komplexní datové vazby v projektu na úrovni aplikace
Aktualizace dat, který je vázán na ovládací prvky hostitele
Vázání dat mezi zdrojem dat a ovládací host zahrnuje aktualizace dat obousměrný.Jednoduché datové vazby změny ve zdroji dat se automaticky projeví v hostiteli ovládacího prvku, ale změny v ovládacím prvku hostitele vyžaduje explicitní volání aktualizace zdroje dat.Důvodem je, že v některých případech změny v jednom poli vázanými daty nejsou přijaty nebyla provázena změny v jiném poli vázanými daty.Můžete mít dvě pole, jeden pro věk a jeden let zkušeností.Zkušenosti nesmí překročit věk.Uživatel nemůže aktualizovat ve věku od 50 do 25 a potom zkušeností z 30 10 Pokud uživatel provede změny současně.Tento problém vyřešit, nejsou aktualizovány pole jednoduché datové vazby, dokud explicitně odesílá aktualizace kódu.
Aktualizace zdroje dat z hostitele ovládací prvky, které umožňují jednoduché datové vazby, je nutné odeslat aktualizace zdroje dat v paměti (jako DataSet nebo DataTable) a databáze back-end, pokud vaše řešení používá jednu.
Není nutné explicitně aktualizovat zdroj dat v paměti při provádění komplexní datové vazby pomocí ListObject řízení.V takovém případě změny automaticky odeslány zdroji dat v paměti bez dodatečného kódu.
Další informace naleznete v tématu Jak: aktualizovat daty z hostitele ovládací prvek zdroje dat.
Viz také
Úkoly
Jak: vytvoření jednoduché vázaný ovládací prvek formuláře systému Windows
Jak: aktualizace dat pomocí TableAdapter
Koncepty
Vazba na data a model Windows Forms
Vazba na Data v aplikaci Visual Studio model Windows Forms prvky
Uložení dat v objektech DataSet