Návod: Předávání dat mezi formuláři Windows

V tomto návodu obsahuje podrobné pokyny pro předávání dat z jednoho formuláře.Použití zákazníci a objednávky tabulky z jednoho formuláře Northwind umožní uživatelům výběr odběratele a druhý formulář zobrazí objednávky vybraného odběratele.Tento průvodce ukazuje, jak vytvořit metodu na jeden formulář, který získává data z první formulář.

[!POZNÁMKA]

Tento průvodce ukazuje pouze jeden ze způsobů předávání dat mezi formulářů.Existují jiné možnosti pro předávání dat formuláře, včetně těchto přístupů: můžete vytvořit druhý konstruktor k získání dat, nebo můžete vytvořit veřejnou vlastnost, která lze nastavit s daty z první formuláře.

Úlohy v tomto návodu zahrnují:

Požadavky

K dokončení tohoto návodu budete potřebovat:

Vytváření aplikací systému Windows

Vytvoření nového projektu Windows

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

  2. Název projektu PassingDataBetweenForms.

  3. Vyberte možnost Formulářová aplikace Windows a klikněte na tlačítko OK.Další informace naleznete v tématu Vývoj klientských aplikací s použitím rozhraní .NET Framework.

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

Vytvoření zdroje dat

Chcete-li vytvořit zdroj dat

  1. V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.

  2. V okně Zdroje dat výběrem možnosti Přidat nový zdroj dat spusťte Průvodce konfigurací zdroje dat.

  3. Vyberte možnost Databáze na stránce Zvolit typ datového zdroje a potom klikněte na tlačítko Další.

  4. Na Zvolte model databáze stránky, ověřte, zda datová sada je zadána a potom klikněte na tlačítko Další.

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

    • Pokud je k dispozici v rozevíracím seznamu datové připojení k databázi Northwind ukázky, vyberte jej.

      -nebo-

    • Vyberte nové připojení ke spuštění Přidat či upravit připojení dialogového okna.

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

  7. Klepněte na tlačítko Next na stránce Uložit připojovací řetězec do konfiguračního souboru aplikace.

  8. Rozbalte uzel Tabulky na stránce Zvolte vaše databázové objekty.

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

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

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

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

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

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

Chcete-li vytvořit druhého způsobu předat data, která mají

  1. Z projektu nabídce zvolte Přidat formulář pro systém Windows.

  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.

    Objekt DataGridView a pruh nástrojů (BindingNavigator) pro procházení záznamů se zobrazí na Form2.Objekt NorthwindDataSet, CustomersTableAdapter, BindingSource, a BindingNavigator se zobrazí na hlavním panelu součásti.

  4. Odstranit OrdersBindingNavigator z komponent.

    OrdersBindingNavigator zmizí z Form2.

Přidání TableAdapter dotazu do Form2 načíst objednávky pro vybraného odběratele na Form1

Chcete-li vytvořit TableAdapter dotazu

  1. Klikněte dvakrát NorthwindDataSet.xsd souborů v Průzkumníka řešení.

  2. Klikněte pravým tlačítkem myši OrdersTableAdapter a vyberte možnost dotazu přidat.

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

  4. Výchozí možnost ponechejte Vyberte, které vrátí řádky, a potom klikněte na tlačítko Další.

  5. Přidat klauzuli WHERE dotazu, který má být vrácen Orders na základě CustomerID.Dotaz by měl 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]

    Ověřte správné parametr syntaxe pro databázi.Například v aplikaci Microsoft Access klauzule WHERE vypadat: WHERE CustomerID = ?.

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

  7. Pro výplně DataTablenázev metody, typ FillByCustomerID.

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

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

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

Chcete-li vytvořit způsob, jak předat data do

  1. Klikněte pravým tlačítkem na Form2 a vyberte možnost zobrazení kódu otevřete Form2 v editoru kódu.

  2. Přidat následující kód k Form2 poté, co 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);
    }
    

Vytváření metodu na Form1 k předání dat a Form2 zobrazení

Chcete-li vytvořit způsob, jak předat data do Form2

  1. V Form1, klikněte pravým tlačítkem myši mřížky data zákazníků a potom klikněte na tlačítko Vlastnosti.

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

  3. Klikněte dvakrát CellDoubleClick události.

    Zobrazí se editor kódu.

  4. Aktualizace definice metody pro vyhledání níže uvedená ukázka:

    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 ke spuštění aplikace.

  • Klikněte dvakrát na záznam zákazníka v Form1 otevřete Form2 s 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áři.Mezi vylepšení, která je možné pro tento návod provést, patří:

Viz také

Koncepty

Vázání ovládacích prvků Windows Forms k datům v sadě Visual Studio

Přehled zdrojů dat

TableAdapter – přehled

Příprava vaší aplikace k příjmu dat

Načítání dat do vaší aplikace

Vázání ovládacích prvků k datům v sadě Visual Studio

Upravování dat ve vaší aplikaci

Ověřování dat

Ukládání dat

Další zdroje

Návody k datům

Připojení k datům v sadě Visual Studio