Jak: Access záznamy v souvisejících DataTables
Když objekt DataSet tabulek, DataRelation objektu můžete zpřístupnit souvisejících záznamů v jiné tabulce.Například dataset obsahující Customers a Orders tabulek může být k dispozici.
Můžete použít DataRelation objekt voláním vyhledejte související záznamy GetChildRows metodu DataRow v nadřazené tabulce; Tato metoda vrátí matici souvisejícím podřízeným záznamům.Nebo můžete zavolat GetParentRow metodu DataRow v podřízené tabulce. Tato metoda vrátí jeden DataRow z nadřazené tabulky.
Tato stránka nápovědy obsahuje příklady použití zadané soubory.Informace o navigaci v objektech DataSet netypovou vztahy, viz Navigating a Relationship between Tables.
[!POZNÁMKA]
Pokud pracujete v aplikaci model Windows Forms a zobrazení dat pomocí funkcí vázání dat, může návrhář formuláře generované poskytují dostatek funkce aplikace.Další informace naleznete na stránkách Ovládací prvky vazby na Data v aplikaci Visual Studio, konkrétně Jak: zobrazení souvisejících dat v aplikaci model Windows Forms a Názorný postup: Zobrazení souvisejících dat formuláře systému Windows.
Následující příklady kódu ukazují, pohyb nahoru a dolů vztahy v zadané soubory.Jejich použití zadaného DataRows (NorthwindDataSet.OrdersRow) a vytvořené FindByPrimaryKey (FindByCustomerID) metody a vyhledejte požadovaný řádek a související záznamy.Příklady sestavit a spustit správně pouze v případě, že máte:
Instanci objektu DataSet s názvem NorthwindDataSet se Customers tabulky
An Orders table
Relace s názvem FK_Orders_Customers týkající se dvou tabulek, které jsou k dispozici obor kódu
Navíc je nutné obě tabulky vyplněn data pro všechny záznamy, které mají být vráceny.
Přístup k související záznamy
Vrátit podřízené záznamy vybrané nadřazený záznam
Volání GetChildRows metoda konkrétní Customers data řádku a vrátí matici řádky z Orders tabulky:
Dim customerID As String = "ALFKI" Dim orders() As NorthwindDataSet.OrdersRow orders = CType(NorthwindDataSet.Customers.FindByCustomerID(customerID). GetChildRows("FK_Orders_Customers"), NorthwindDataSet.OrdersRow()) MessageBox.Show(orders.Length.ToString())
string custID = "ALFKI"; NorthwindDataSet.OrdersRow[] orders; orders = (NorthwindDataSet.OrdersRow[])northwindDataSet.Customers. FindByCustomerID(custID).GetChildRows("FK_Orders_Customers"); MessageBox.Show(orders.Length.ToString());
Vrátit nadřazený záznam vybraný podřízený záznam
Volání GetParentRow metoda konkrétní Orders data řádků a vrátíte se do jednoho řádku z Customers tabulky:
Dim orderID As Integer = 10707 Dim customer As NorthwindDataSet.CustomersRow customer = CType(NorthwindDataSet.Orders.FindByOrderID(orderID). GetParentRow("FK_Orders_Customers"), NorthwindDataSet.CustomersRow) MessageBox.Show(customer.CompanyName)
int orderID = 10707; NorthwindDataSet.CustomersRow customer; customer = (NorthwindDataSet.CustomersRow)northwindDataSet.Orders. FindByOrderID(orderID).GetParentRow("FK_Orders_Customers"); MessageBox.Show(customer.CompanyName);
Viz také
Koncepty
Příprava aplikace pro příjem dat.
Ovládací prvky vazby na Data v aplikaci Visual Studio