Sdílet prostřednictvím


Návod: Vytvoření vazby ovládacích prvků WPF k datové sadě

V tomto návodu vytvoříte aplikaci WPF, která obsahuje data vázané ovládací prvky.Ovládací prvky je vázána na záznamy produktů, které jsou zapouzdřena v datové sadě.Pokud přidáte tlačítka Procházet produkty a uložit změny do záznamy produktů.

Tento návod znázorňuje následující úlohy:

  • Vytvoření aplikace WPF a datovou sadu generovaný z dat v databázi AdventureWorksLT ukázky.

  • Vytvoření sadu ovládacích prvků vázaných na data přetažením tabulku dat z zdroje dat okna do okna v Návrháři WPF.

  • Vytvoření tlačítka, která vpřed a zpět procházet záznamy produktů.

  • Vytváření tlačítek uloží změny, které uživatelé provádět záznamy produktů pro tabulku dat a podkladový zdroj dat.

    [!POZNÁMKA]

    Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Požadavky

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

  • Visual Studio

  • Přístup ke spuštěné instanci serveru SQL Server nebo SQL Server Express, který má ukázkové databáze AdventureWorksLT připojena k němu.Můžete stáhnout z databáze AdventureWorksLT webu CodePlex.

Předchozí znalosti následující koncepty je rovněž užitečný, ale nejsou vyžadovány k dokončení návodu:

Vytvoření projektu

Vytvoření nového projektu WPF.Projekt se zobrazí záznamy produktů.

Vytvoření projektu

  1. Spusťte aplikaci Visual Studio.

  2. V nabídce Soubor přejděte na příkaz Nový a klikněte na Projekt.

  3. Rozbalte položku jazyka Visual Basic nebo Visual C#, a potom vyberte Windows.

  4. Vyberte aplikace WPF šablona projektu.

  5. V název zadejte AdventureWorksProductsEditor a klikněte na tlačítko OK.

    Sada Visual Studio vytvoří AdventureWorksProductsEditor projektu.

Vytvoření sady pro aplikaci

Předtím, než bude možné vytvořit ovládací prvky vázání dat, je nutné definovat datový model pro vaši aplikaci a přidejte ho do zdroje dat okna.V tomto návodu můžete vytvořit datovou sadu mají být použity jako datový model.

Chcete-li vytvořit datovou sadu

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

    Zdroje dat otevře se okno.

  2. V zdroje dat okna, klikněte na tlačítko Přidat nový zdroj dat.

    Otevře se Průvodce konfigurací zdroje dat.

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

  4. Na Zvolte Model databáze stránky, vyberte možnost datová sada, a potom klikněte na tlačítko Další.

  5. Na Vybrat datové připojení stránky, vyberte jednu z následujících možností:

    • Pokud datové připojení k databázi AdventureWorksLT ukázky je k dispozici v rozevíracím seznamu, vyberte ji a potom klikněte na tlačítko Další.

      -nebo-

    • Klikněte na tlačítko nové připojení a umožňuje vytvořit připojení k databázi AdventureWorksLT.

  6. Na Uložit připojovací řetězec do souboru nakonfigurovat aplikace stránky, vyberte možnost Ano, uložte připojení jako zaškrtnutí políčka a klikněte na tlačítko Další.

  7. Na Zvolte vaše databázové objekty stránky, rozbalte položku tabulky, a potom vyberte produkt (SalesLT) tabulky.

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

    Visual Studio přidá nový soubor AdventureWorksLTDataSet.xsd do projektu a přidá odpovídající AdventureWorksLTDataSet položku zdroje dat okna.Soubor AdventureWorksLTDataSet.xsd definuje definované datové sady s názvem AdventureWorksLTDataSet a TableAdapter, s názvem ProductTableAdapter.Dále v tomto návodu budete používat ProductTableAdapter k vyplnění datové sady s daty a uložit změny do databáze.

  9. Sestavte projekt.

Úprava výchozí metodu výplně TableAdapter

Chcete-li vyplnit datová sada dat, použijte Fill metodu ProductTableAdapter.Ve výchozím nastavení Fill Metoda výplně ProductDataTable v AdventureWorksLTDataSet se všechny řádky dat z tabulky Product.Můžete upravit tato metoda má být vrácen pouze podmnožinu řádky.V tomto návodu upravit Fill Metoda vrátí řádky pouze pro produkty, které mají fotografie.

Načíst produktu řádků, které mají fotografie

  1. V Průzkumníka řešení, poklepejte na soubor AdventureWorksLTDataSet.xsd.

    Otevře se Návrhář datových sad.

  2. V návrháři, klikněte pravým tlačítkem myši Fill,GetData() dotaz a vyberte možnost Konfigurovat.

    Průvodce konfigurací TableAdapter otevře.

  3. V Zadejte příkaz SQL přidat následující klauzule WHERE po SELECT prohlášení do textového pole.

    WHERE ThumbnailPhotoFileName <> 'no_image_available_small.gif'
    
  4. Klepněte na tlačítko Dokončit.

Definování uživatelského rozhraní

Přidáte několik tlačítek do okna úpravou XAML v Návrháři WPF.Dále v tomto návodu přidáte kód, který umožňuje uživatelům posunout prostřednictvím a uložte změny produkty záznamů pomocí těchto tlačítek.

Chcete-li definovat uživatelského rozhraní okna

  1. V Průzkumníka řešení, dvakrát klikněte na položku MainWindow.xaml.

    Otevře se okno v Návrháři WPF.

  2. V XAML Zobrazit návrháře, přidejte následující kód mezi <Grid> klíčová slova:

    <Grid.RowDefinitions>
        <RowDefinition Height="75" />
        <RowDefinition Height="625" />
    </Grid.RowDefinitions>
    <Button HorizontalAlignment="Left" Margin="22,20,0,24" Name="backButton" Width="75">&lt;</Button>
    <Button HorizontalAlignment="Left" Margin="116,20,0,24" Name="nextButton" Width="75">&gt;</Button>
    <Button HorizontalAlignment="Right" Margin="0,21,46,24" Name="saveButton" Width="110">Save changes</Button>
    
  3. Sestavte projekt.

Vytváření ovládacích prvků vázaných na Data

Vytvořit ovládací prvky, které zobrazují záznamy zákazníka přetažením produktu tabulky z zdroje dat okna Návrháře WPF.

Chcete-li vytvořit ovládací prvky vázání dat

  1. V zdroje dat okna, klepněte na rozevírací nabídku pro produktu uzel a vyberte Podrobnosti.

  2. Rozbalit produktu uzlu.

  3. V tomto příkladu některá pole se nezobrazí tak klepněte na rozevírací nabídku vedle následující uzly a vyberte možnost žádný:

    • ProductCategoryID

    • ProductModelID

    • ThumbnailPhotoFileName

    • ROWGUID

    • ModifiedDate

  4. Klikněte na rozevírací nabídce vedle ThumbNailPhoto uzel a vyberte obrázek.

    [!POZNÁMKA]

    Ve výchozím nastavení položky zdroje dat okno, které představují obrázky mají jejich výchozího ovládacího prvku nastavena na žádný.Je to proto obrázky jsou uloženy jako pole bajtů v databázích a bajtové pole může obsahovat cokoli z jednoduché pole bajtů ke spustitelnému souboru velké aplikace.

  5. Z zdroje dat okna, přetáhněte produktu uzel pro řádek tabulky pod řádek, který obsahuje tlačítka.

    Generuje sada Visual Studio, XAML, který definuje sadu ovládacích prvků, které jsou svázány s daty v produkty tabulky.Vytvoří také kód, který načte data.Další informace o generovaného XAML a kódu, naleznete v části Vázání ovládacích prvků WPF k datům v sadě Visual Studio.

  6. V návrháři, klepněte na textové pole vedle ID produktu popisku.

  7. V Vlastnosti okna, vyberte zaškrtávací políčko vedle IsReadOnly vlastnost.

Procházení záznamů produktu

Přidejte kód, který umožňuje uživatelům procházet záznamy produktů pomocí < a > tlačítka.

Chcete-li povolit uživatelům procházet záznamy produktů

  1. V návrháři, klikněte dvakrát < tlačítko na ploše okna.

    Visual Studio otevře soubor kódu a vytvoří nový backButton_Click obslužnou rutinu pro Click události.

  2. Změnit Window_Loaded obslužnou rutinu události proto ProductViewSource, AdventureWorksLTDataSet, a AdventureWorksLTDataSetProductTableAdapter jsou mimo metodu a přístup k celému formuláři.Deklarovat pouze tyto globální do formuláře, je v rámci přiřadit Window_Loaded obslužnou rutinu události, podobně jako následující:

    Dim ProductViewSource As System.Windows.Data.CollectionViewSource
    Dim AdventureWorksLTDataSet As AdventureWorksProductsEditor.AdventureWorksLTDataSet
    Dim AdventureWorksLTDataSetProductTableAdapter As AdventureWorksProductsEditor.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter
    
    Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        AdventureWorksLTDataSet = CType(Me.FindResource("AdventureWorksLTDataSet"), AdventureWorksProductsEditor.AdventureWorksLTDataSet)
        'Load data into the table Product. You can modify this code as needed.
        AdventureWorksLTDataSetProductTableAdapter = New AdventureWorksProductsEditor.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter()
        AdventureWorksLTDataSetProductTableAdapter.Fill(AdventureWorksLTDataSet.Product)
        ProductViewSource = CType(Me.FindResource("ProductViewSource"), System.Windows.Data.CollectionViewSource)
        ProductViewSource.View.MoveCurrentToFirst()
    End Sub
    
    private AdventureWorksProductsEditor.AdventureWorksLTDataSet AdventureWorksLTDataSet;
    private AdventureWorksProductsEditor.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter adventureWorksLTDataSetProductTableAdapter;
    private System.Windows.Data.CollectionViewSource productViewSource;
    
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        AdventureWorksLTDataSet = ((AdventureWorksProductsEditor.AdventureWorksLTDataSet)(this.FindResource("adventureWorksLTDataSet")));
        // Load data into the table Product. You can modify this code as needed.
        adventureWorksLTDataSetProductTableAdapter = new AdventureWorksProductsEditor.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter();
        adventureWorksLTDataSetProductTableAdapter.Fill(AdventureWorksLTDataSet.Product);
        productViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("productViewSource")));
        productViewSource.View.MoveCurrentToFirst();
    }
    
  3. Přidat následující kód, který backButton_Click obslužnou rutinu události:

    If ProductViewSource.View.CurrentPosition > 0 Then
        ProductViewSource.View.MoveCurrentToPrevious()
    End If
    
    if (productViewSource.View.CurrentPosition > 0)
    {
        productViewSource.View.MoveCurrentToPrevious();
    }
    
  4. Zpět na návrháře a dvakrát klikněte > tlačítko.

  5. Přidat následující kód, který nextButton_Click obslužnou rutinu události:

    If ProductViewSource.View.CurrentPosition < CType(ProductViewSource.View, CollectionView).Count - 1 Then
        ProductViewSource.View.MoveCurrentToNext()
    End If
    
    if (productViewSource.View.CurrentPosition < ((CollectionView)productViewSource.View).Count - 1)
    {
        productViewSource.View.MoveCurrentToNext();
    }
    

Ukládání změn do záznamy produktů

Přidejte kód, který umožňuje uživatelům uložit změny do záznamy produktů pomocí Uložit změny tlačítko.

Chcete-li přidat možnost uložit změny do záznamy produktů

  1. V návrháři, klikněte dvakrát Uložit změny tlačítko.

    Visual Studio otevře soubor kódu a vytvoří nový saveButton_Click obslužnou rutinu pro Click události.

  2. Přidat následující kód, který saveButton_Click obslužnou rutinu události:

    AdventureWorksLTDataSetProductTableAdapter.Update(AdventureWorksLTDataSet.Product)
    
    adventureWorksLTDataSetProductTableAdapter.Update(AdventureWorksLTDataSet.Product);
    

    [!POZNÁMKA]

    V tomto příkladu Save Metoda TableAdapter k uložení změn.To je vhodné v tomto návodu, protože je právě ke změně pouze jednu datovou tabulku.Pokud potřebujete uložit změny do různých datových tabulek, můžete také použít UpdateAll metodu TableAdapterManager vygenerovanou vaše datové sadě Visual Studio.Další informace naleznete v tématu TableAdapterManager – přehled.

Testování aplikace

Vytvoření a spuštění aplikace.Ověřte, že můžete zobrazit a aktualizovat záznamy produktů.

Testování aplikace

  1. Stiskněte klávesu F5.

    Aplikace vytvoří a spustí.Ověřte následující informace:

    • Textová pole zobrazit data z první položky produkt, který má fotografii.Tento produkt obsahuje product ID 713 a název Jersey Logo dlouhé obal, S.

    • Po klepnutí > nebo < tlačítka Procházet záznamy dalších produktů.

  2. V jednom z záznamy produktů změnit velikost hodnotu a potom klikněte na tlačítko Uložit změny.

  3. Ukončete aplikaci a potom spusťte aplikaci znovu stisknutím klávesy F5 v sadě Visual Studio.

  4. Přejděte na záznam produktu, který jste změnili a ověřte, že trvale uložit změny.

  5. Ukončete aplikaci.

Další kroky

Po dokončení tohoto průvodce, můžete provádět následující úlohy související:

Viz také

Úkoly

Postupy: Vytvoření vazby ovládacích prvků WPF k datům v sadě Visual Studio

Koncepty

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

Práce s datovými sadami v sadě Visual Studio

Přehled datových vazeb

Další zdroje

Přehled Návrháře WPF