Sdílet prostřednictvím


Předávání dat mezi formuláři

 

Publikováno: srpen 2016

Tento návod obsahuje podrobné pokyny pro předávání dat z jednoho formuláře. Pomocí zákazníci a objednávky tabulek z jednoho formuláře Northwind vám umožní uživatelům vybrat zákazníka a druhý formulář zobrazí objednávky vybraného zákazníka. Tento návod ukazuje, jak vytvořit metodu na jeden formulář, který přijímá data z první formulář.

Poznámka

Tento návod ukazuje pouze jeden způsob předávání dat mezi formuláři. Existují další možnosti pro předá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, kterou lze nastavit s daty z první formuláře.

Úlohy v tomto návodu zahrnují:

Požadavky

Chcete-li dokončit tento návod, potřebujete:

Vytvoření aplikace pro Windows

Vytvoření nového projektu Windows

  1. Z soubor nabídky, vytvořte nový projekt.

  2. Název projektu PassingDataBetweenForms.

  3. Vyberte aplikace Windows Forms a klikněte na tlačítko OK. Další informace naleznete v tématu Klientské aplikace.

    PassingDataBetweenForms je vytvořen a přidán do projektu Průzkumníku řešení.

Vytváření zdroje dat

Vytvoření zdroje dat

  1. Na Data nabídky, klikněte na tlačítko Zobrazit zdroje dat.

  2. V zdroje dat vyberte Přidat nový zdroj dat ke spuštění Průvodce konfigurací zdroje dat.

  3. Vyberte databáze na Zvolte typ zdroje dat a potom klikněte na tlačítko Další.

  4. Na Vyberte databázový model ověřte, že datovou sadu je zadán a potom klikněte na tlačítko Další.

  5. Na Vybrat datové připojení proveďte jednu z následujících akcí:

    • Pokud připojení dat k ukázkové databázi Northwind k dispozici v rozevíracím seznamu, vyberte ji.

      - nebo -

    • Vyberte nové připojení ke spuštění Přidat nebo upravit připojení dialogové okno.

  6. Pokud vaše databáze vyžaduje heslo, a pokud je povolena možnost obsahují citlivá data, vyberte možnost a potom klikněte na tlačítko Další.

  7. Klikněte na tlačítko Další na Uložit připojovací řetězec do konfiguračního souboru aplikace stránky.

  8. Rozbalte tabulky uzel na Zvolte vaše databázové objekty stránky.

  9. Vyberte Zákazníci a objednávky tabulky a pak klikněte na tlačítko Dokončit.

    NorthwindDataSet je přidán do projektu a Zákazníci a tabulky objednávek se zobrazí v zdroje dat okna.

Vytvoření první formuláře (Form1)

Můžete vytvořit mřížku vázaných na data ( DataGridView ovládací prvek) přetažením Zákazníci uzlu z zdroje dat okna do formuláře.

Chcete-li vytvořit mřížky vázaných na data ve formuláři

Vytváření druhé formuláře (Form2)

Chcete-li vytvořit druhý formulář k předání dat do

  1. Z projektu nabídce zvolte formulář Windows přidat.

  2. Ponechejte výchozí název Form2 a klikněte na tlačítko Přidat.

  3. Přetáhněte hlavní objednávky uzlu z zdroje dat okna do Form2.

    A DataGridView a pruh nástrojů (BindingNavigator) pro procházení záznamů se zobrazí na Form2. A NorthwindDataSet, CustomersTableAdapter, BindingSource, a BindingNavigator v panelu komponent se zobrazí.

  4. Odstranit OrdersBindingNavigator z panelu komponent.

    OrdersBindingNavigator zmizí z Form2.

Přidání dotazu TableAdapter Form2 načíst objednávek pro vybraného zákazníka na Form1

K vytvoření dotazu TableAdapter

  1. Dvakrát klikněte NorthwindDataSet.xsd souboru v Průzkumníku řešení.

  2. Klikněte pravým tlačítkem myši OrdersTableAdapter a vyberte Přidat dotaz.

  3. Ponechejte výchozí možnost pomocí SQL příkazy, a potom klikněte na tlačítko Další.

  4. Ponechejte výchozí možnost Vyberte, které vrací řádky, a potom klikněte na tlačítko Další.

  5. Přidejte klauzuli WHERE dotazu k vrácení Orders na základě CustomerID. Dotaz by měl být podobný následujícímu:

    SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry  
    FROM Orders   
    WHERE CustomerID = @CustomerID  
    

    Poznámka

    Ověřte syntaxi správný parametr pro vaši databázi. Například v aplikaci Microsoft Access klauzule WHERE bude vypadat: WHERE CustomerID = ?.

  6. Klikněte na tlačítko Další.

  7. Pro vyplnění DataTablenázev metody, typ FillByCustomerID.

  8. Vymazat vrátit objekt DataTable možnost a potom klikněte na tlačítko Další.

  9. Klikněte na tlačítko Dokončit.

Vytváření metodu na Form2 předání dat

Chcete-li vytvořit metodu k předání dat

  1. Klikněte pravým tlačítkem na Form2 a vyberte Zobrazit kód otevřete Form2 v Editor kódu.

  2. Přidejte následující kód do Form2 po Form2_Load Metoda:

            internal void LoadOrders(String CustomerID)
            {
                ordersTableAdapter.FillByCustomerID(northwindDataSet.Orders, CustomerID);
            }
    
        Friend Sub LoadOrders(ByVal CustomerID As String)
            OrdersTableAdapter.FillByCustomerID(NorthwindDataSet.Orders, CustomerID)
        End Sub
    

Vytváření metodu na Form1 průchod dat a zobrazení Form2

Vytvoření metody data předat Form2

  1. V Form1, klikněte pravým tlačítkem na mřížky dat zákazníka a klikněte na Vlastnosti.

  2. V Vlastnosti okna, klikněte na tlačítko události.

  3. Dvakrát klikněte CellDoubleClick událostí.

    Zobrazí se editor kódu.

  4. Aktualizujte definici metody tak, aby odpovídala následující ukázce:

            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();
            }
    
        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
    

Spuštění aplikace

Ke spuštění aplikace

  • Stisknutím klávesy F5 ke spuštění aplikace.

  • Klikněte dvakrát na záznam zákazníka v Form1 otevřete Form2 s objednávek tohoto zákazníka.

Další kroky

V závislosti na požadavcích aplikace existuje několik kroků, které chcete provádět po předávání dat mezi formuláři. Mezi vylepšení, která by mohla pro tento návod provést, patří:

Viz také

Vytvoření vazby ovládacích prvků Windows Forms k datům v sadě Visual Studio