Názorný postup: Předávání dat mezi model Windows Forms
Tento návod obsahuje podrobné pokyny pro předání dat z jednoho formuláře.Zákazníci a objednávky tabulek z jednoho formuláře Northwind umožní uživatelům vybrat odběratele a druhý formulář zobrazí objednávky vybraného odběratele.Tento názorný postup ukazuje, jak vytvořit metodu na jednom formuláři, který přijímá data z prvního formuláře.
[!POZNÁMKA]
Názorný pouze jeden způsob předávání dat mezi formulářů.Další volby pro předávání dat do formuláře, včetně těchto přístupů: můžete vytvořit druhý konstruktor přijímat data, nebo můžete vytvořit veřejné vlastnosti, lze nastavit data z prvního formuláře.
Úlohy v tomto návodu zahrnují:
Vytvoření nového Aplikace systému Windows projektu.
Vytváření a konfigurace objektu dataset s Průvodce konfigurací zdroje dat.
Výběr ovládacího prvku ve formuláři vytvořit při přetahování položek z Zdroje dat okna.Další informace naleznete v tématu Jak: nastavení řízení má být vytvořen při přetažení z okno zdroje dat.
Vytvoření ovládací prvek vázán na data přetažením položek z Zdroje dat okna do formuláře.
Druhý formulář vytvoření tabulky pro zobrazení dat.
Vytvoření dotazu TableAdapter Fetch objednávky pro určitého zákazníka.
Předávání dat mezi formulářů.
Požadavky
K dokončení tohoto návodu budete potřebovat:
- Přístup k ukázkové databázi Northwind.Další informace naleznete v tématu Jak: Instalace ukázkové databáze.
Vytvoření aplikace pro Windows
Vytvořit nový projekt systému Windows
Z soubor nabídka, vytvoření nového projektu.
Název projektu PassingDataBetweenForms.
Vyberte Aplikace model Windows Forms a na OK.Další informace naleznete v tématu Tvorba klientských aplikací.
PassingDataBetweenForms projektu je vytvořena a přidána do Aplikaci Solution Explorer.
Vytváření zdroje dat
Vytvořit zdroj dat
V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.
V Zdroje dat vyberte Přidat nový zdroj dat spustit Průvodce konfigurací zdroje dat.
Vyberte Databázi na stránce Zvolit datový typ zdrojová databáze a potom klikněte na tlačítko Next.
Na Zvolit model databáze stránky, ověřte, zda Dataset je určena a klepněte na tlačítko Další.
Na Zvolte datové připojení stránky, proveďte jeden z následujících:
Pokud datové připojení k ukázkové databázi Northwind je k dispozici v rozevíracím seznamu, vyberte ji.
-nebo-
Vyberte Nové připojení spustit Přidat nebo změnit připojení dialogové okno.Další informace naleznete v tématu Přidat či upravte dialogové okno připojení (Obecné).
Pokud databáze vyžaduje heslo, a pokud je povolena možnost obsahují citlivá data, vyberte možnost a klepněte na tlačítko Další.
Klepněte na tlačítko Další na Uložit řetězec připojení v souboru konfigurace aplikace stránku.
Rozbalte tabulek uzel zvolit databázové objekty stránky.
Vyberte Zákazníci a objednávky tabulky a pak klepněte na tlačítko Dokončit.
NorthwindDataSet je do projektu a Zákazníci a tabulky objednávky se zobrazí v Zdroje dat okna.
Vytvoření první formulář (Form1)
Můžete vytvořit tabulky vázán na data ( DataGridView řízení) přetažením Zákazníci uzlu z Zdroje dat okna do formuláře.
Vytvoření mřížky vázán na data ve formuláři
Přetáhněte hlavní Zákazníci z uzlu Zdroje dat okna do Form1.
A DataGridView a pruh nástrojů (BindingNavigator) pro procházení záznamů se na Form1.A NorthwindDataSet, CustomersTableAdapter, BindingSource, a BindingNavigator se zobrazují na hlavním panelu komponenty.
Vytvoření druhého formuláře (formulář2)
Vytvořte druhý formulář pro předávání dat na
Z projektu nabídce zvolte Formuláře systému Windows přidat.
Ponechejte výchozí název formulář2 a na Přidat.
Přetáhněte hlavní objednávky z uzlu Zdroje dat okna do formulář2.
A DataGridView a pruh nástrojů (BindingNavigator) pro procházení záznamů se na formulář2.A NorthwindDataSet, CustomersTableAdapter, BindingSource, a BindingNavigator se zobrazují na hlavním panelu komponenty.
Odstranit OrdersBindingNavigator ze zásobníku komponenty.
OrdersBindingNavigator zmizí z formulář2.
Přidání TableAdapter dotazu k načtení objednávek pro vybraného odběratele na Form1 formulář2
Vytvoření dotazu TableAdapter
Poklepejte NorthwindDataSet.xsd v souboru Aplikaci Solution Explorer.
Klepněte pravým tlačítkem myši OrdersTableAdapter a vyberte Dotazu přidat.
Ponechte výchozí možnost příkazy SQL použíta klepněte na tlačítko Další.
Ponechte výchozí možnost Vybrat, která vrací řádkya klepněte na tlačítko Další.
Do dotazu přidat klauzule WHERE Orders na základě CustomerID.Dotazu by měla být podobná následující:
SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry FROM Orders WHERE CustomerID = @CustomerID
[!POZNÁMKA]
Zkontrolujte syntaxi správný parametr pro databázi.Například v aplikaci Microsoft Access klauzuli WHERE vypadat: WHERE CustomerID = ?.
Klepněte na tlačítko Další.
Pro výplně objektu DataTableNázev metody, typ FillByCustomerID.
Vymazat vrátit DataTable možnost a potom klepněte na tlačítko Další.
Klepněte na tlačítko Dokončit.
Metoda vytváření na formulář2 předat Data
Vytvořit metodu předávání dat
Pravým tlačítkem myši na formulář2 a vyberte Zobrazení kódu otevřete formulář2 v Editor kódu.
Přidejte následující kód na formulář2 po Form2_Load metoda:
Friend Sub LoadOrders(ByVal CustomerID As String) OrdersTableAdapter.FillByCustomerID(NorthwindDataSet.Orders, CustomerID) End Sub
internal void LoadOrders(String CustomerID) { ordersTableAdapter.FillByCustomerID(northwindDataSet.Orders, CustomerID); }
Metoda vytváření na Form1 průchod dat a zobrazení formulář2
Vytvořit metodu data předat formulář2
V Form1, tlačítkem mřížky dat zákazníka a potom klepněte na tlačítko Vlastnosti.
V Vlastnosti okna, klepněte na tlačítko události.
Poklepejte CellDoubleClick událostí.
Zobrazí editor kódu.
Definice metody odpovídající vzorek následující aktualizace:
Private Sub CustomersDataGridView_DoubleClick() Handles CustomersDataGridView.DoubleClick Dim SelectedRowView As Data.DataRowView Dim SelectedRow As NorthwindDataSet.CustomersRow SelectedRowView = CType(CustomersBindingSource.Current, System.Data.DataRowView) SelectedRow = CType(SelectedRowView.Row, NorthwindDataSet.CustomersRow) Dim OrdersForm As New Form2 OrdersForm.LoadOrders(SelectedRow.CustomerID) OrdersForm.Show() End Sub
private void customersDataGridView_DoubleClick(object sender, EventArgs e) { System.Data.DataRowView SelectedRowView; NorthwindDataSet.CustomersRow SelectedRow; SelectedRowView = (System.Data.DataRowView)customersBindingSource.Current; SelectedRow = (NorthwindDataSet.CustomersRow)SelectedRowView.Row; Form2 OrdersForm = new Form2(); OrdersForm.LoadOrders(SelectedRow.CustomerID); OrdersForm.Show(); }
Spuštění aplikace
Spuštění aplikace
Stisknutím klávesy F5 spustíte aplikaci.
Poklepejte na záznam zákazníka v Form1 otevřete formulář2 se objednávky tohoto zákazníka.
Další kroky
V závislosti na požadavcích aplikace existuje několik kroků, které chcete provést po předávání dat mezi formulářů.Některá vylepšení, které nelze provést tento návod obsahuje:
Úpravy objektu dataset, přidání nebo odebrání objektů databáze.Další informace naleznete v tématu Jak: upravit objekt Dataset.
Přidání funkce Uložit data zpět do databáze.Další informace naleznete v tématu Jak: Dataset změny uložit do databáze.
Viz také
Koncepty
Vazba na Data v aplikaci Visual Studio model Windows Forms prvky
Příprava aplikace pro příjem dat.
Ovládací prvky vazby na Data v aplikaci Visual Studio