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í:
Vytvoření nového projektu aplikace systému Windows.
Vytváření a konfigurace na sadu dat s Průvodce konfigurací zdroje dat.
Výběr má být vytvořen ve formuláři při přetahování položek z ovládacího prvku zdroje dat okna.Další informace naleznete v tématu Postupy: Nastavení ovládacího prvku, který má být vytvořen při přetažení z okna zdrojů dat.
Vytvoření ovládacího prvku vázaného na data přetažením položek z zdroje dat okno do formuláře.
Druhý k vytvoření mřížky k zobrazení dat.
Vytváření TableAdapter dotaz k načtení objednávky pro konkrétní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 Postupy: Instalace ukázkových databází.
Vytváření aplikací systému Windows
Vytvoření nového projektu Windows
Z soubor nabídky, vytvořte nový projekt.
Název projektu PassingDataBetweenForms.
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
V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.
V okně Zdroje dat výběrem možnosti Přidat nový zdroj dat spusťte Průvodce konfigurací zdroje dat.
Vyberte možnost Databáze na stránce Zvolit typ datového zdroje a potom klikněte na tlačítko Další.
Na Zvolte model databáze stránky, ověřte, zda datová sada je zadána a potom klikněte na tlačítko Další.
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.
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ší.
Klepněte na tlačítko Next na stránce Uložit připojovací řetězec do konfiguračního souboru aplikace.
Rozbalte uzel Tabulky na stránce Zvolte vaše databázové objekty.
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
Přetáhněte hlavní Zákazníci uzlu z zdroje dat okna do Form1.
Objekt DataGridView a pruh nástrojů (BindingNavigator) pro procházení záznamů se zobrazí na Form1.Objekt NorthwindDataSet, CustomersTableAdapter, BindingSource, a BindingNavigator se zobrazí na hlavním panelu součásti.
Vytváření druhý formuláře (Form2)
Chcete-li vytvořit druhého způsobu předat data, která mají
Z projektu nabídce zvolte Přidat formulář pro systém Windows.
Ponechejte výchozí název Form2 a klikněte na tlačítko Přidat.
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.
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
Klikněte dvakrát NorthwindDataSet.xsd souborů v Průzkumníka řešení.
Klikněte pravým tlačítkem myši OrdersTableAdapter a vyberte možnost dotazu přidat.
Výchozí možnost ponechejte příkazy SQL pomocí, a potom klikněte na tlačítko Další.
Výchozí možnost ponechejte Vyberte, které vrátí řádky, a potom klikněte na tlačítko Další.
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 = ?.
Klikněte na tlačítko Další.
Pro výplně DataTablenázev metody, typ FillByCustomerID.
Vymazat vrátit objekt DataTable možnost a potom klikněte na tlačítko Další.
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
Klikněte pravým tlačítkem na Form2 a vyberte možnost zobrazení kódu otevřete Form2 v editoru kódu.
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
V Form1, klikněte pravým tlačítkem myši mřížky data zákazníků a potom klikněte na tlačítko Vlastnosti.
V Vlastnosti okna, klikněte na tlačítko události.
Klikněte dvakrát CellDoubleClick události.
Zobrazí se editor kódu.
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ří:
Úpravy datové sadě, můžete přidat nebo odebrat databázové objekty.Další informace naleznete v tématu Postupy: Upravování datové sady.
Přidání funkce Uložit data zpět do databáze.Další informace naleznete v tématu Postupy: Uložení změn datové sady do databáze.
Viz také
Koncepty
Vázání ovládacích prvků Windows Forms k datům v sadě Visual Studio
Příprava vaší aplikace k příjmu dat
Vázání ovládacích prvků k datům v sadě Visual Studio
Upravování dat ve vaší aplikaci