Sdílet prostřednictvím


Názorný postup: Vazba WPF ovládací prvky k objektu Dataset

V tomto návodu budete vytvořit WPF (Windows Presentation Foundation) aplikace , která obsahuje ovládací prvky vázané na data.Ovládací prvky jsou vázány na produkt záznamy, které jsou zapouzdřeny v objektu dataset.Pokud přidáte tlačítka Procházet produkty a uložení změn do produktu záznamy.

Tento návod ilustruje následující úkoly:

  • Vytváření WPF (Windows Presentation Foundation) aplikace a dataset, vytvořený z dat v ukázkové databázeAdventureWorksLT.

  • Vytvoření sady ovládací prvky vázané na data přetažením z tabulka dat Zdroje datokno okno WPF (Windows Presentation Foundation) Designer.

  • Vytvoření tlačítka, která umožňuje přejít přesměrovat a zpět mezi záznamy.

  • Vytváření tlačítek uloží změny, které uživatelé provedou záznamy do tabulka dat a zdroj datpodkladových.

    [!POZNÁMKA]

    Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

  • Visual Studio

  • Aplikace Access je spuštěna instance serveru SQL Server nebo SQL Server Express, která je připojena AdventureWorksLT ukázkové databáze .Můžete stáhnout AdventureWorksLT z databáze CodePlex web server.

Předchozí znalosti následující pojmy je také užitečné, ale nejsou nutné pro dokončení návod:

Vytváření projektu

Vytvořte novýprojekt WPF (Windows Presentation Foundation). projekt zobrazí záznamy.

Jak vytvořit nový projekt

  1. Spusťte aplikaci Visual Studio.

  2. V nabídce File (Soubor) přejděte na příkaz New (Nový) a klepněte na příkaz Project (Projekt).

  3. Rozbalte Visual Basic nebo **Visual C#**a pak vyberte Windows.

  4. Vyberte aplikací WPF (Windows Presentation Foundation) šablonaprojekt.

  5. V název zadejte AdventureWorksProductsEditor a na OK.

    Visual Studio vytvoří AdventureWorksProductsEditorprojekt.

Vytváření objektu Dataset aplikace

Před můžete vytvořit ovládací prvky vázané na data, musíte definovat datový model pro aplikace a přidáte jej do Zdroje datokno. V tomto návodu je vytvořit objektu dataset jako datový model.

vytvořit objektu dataset

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

    Zdroje datse otevřeokno .

  2. V okně Zdroje dat klikněte na tlačítko Přidat nový zdroj dat.

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

  3. Na Vyberte typ zdroje dat stránky vyberte databázea klepněte na tlačítko Další.

  4. Na zvolit Model databáze stránky vyberte Dataseta klepněte na tlačítko Další.

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

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

      -nebo-

    • Klepněte na tlačítko Nové připojení a vytvořit připojení k databázeAdventureWorksLT.

  6. Na Uložit připojovací řetězec do souboru konfigurace aplikace stránky, vyberte Ano, uložit připojení jako zaškrtávací políčkoa pak klepněte na Další.

  7. Na Zvolte databázové objekty stránce rozbalittabuleka potom vyberte výrobku (SalesLT) tabulky.

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

    Visual Studio přidá nový soubor AdventureWorksLTDataSet.xsd do projekta přidá se odpovídající AdventureWorksLTDataSet položka Zdroje datokno. Soubor AdventureWorksLTDataSet.xsd definuje zadaný objekt dataset s názvem AdventureWorksLTDataSet a TableAdapter s názvem ProductTableAdapter.Dále v tomto návodu je použít ProductTableAdapter k vyplnění datové sady dat a uložit změny databáze.

  9. Projekt sestavte.

Úpravy výchozí metodu výplň TableAdapter

Vyplnit objekt dataset dat, použijte Fill metoda ProductTableAdapter. Standardně Fill metoda vyplní ProductDataTable v AdventureWorksLTDataSet se všechny řádky dat z tabulky produktu. Tato metoda vrátí pouze podmnožinu řádků můžete upravit.Tento názorný postup upravit Fill metoda vrátí pouze řádky pro produkty, které mají fotografie.

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

  1. V Aplikaci Solution Explorer, poklepejte na soubor AdventureWorksLTDataSet.xsd.

    Otevře objekt Dataset designer .

  2. designerklepněte pravým tlačítkem myši Fill,GetData() dotaz a vyberte Konfigurace.

    Průvodce konfigurací TableAdapter otevře.

  3. V Enter příkaz SQL stránky, přidejte následující klauzuli WHERE po SELECT výpis v textové 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 okno úpravou jazyk XAML v WPF (Windows Presentation Foundation) Designer.Dále v tomto návodu můžete přidat kód, který umožňuje uživatelům pomocí těchto tlačítek Posunout prostřednictvím a uložit změny záznamů produktů.

Definovat uživatel rozhraní okno

  1. V Aplikaci Solution Explorer, poklepejte na položku MainWindow.xaml.

    Okno se otevře v návrháři WPF.

  2. V XAML zobrazit designer, přidejte následující kód mezi <Grid> značky:

    <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. Projekt sestavte.

Vytváření ovládací prvky vázané na Data

Vytvořit ovládací prvky, které zobrazit záznamy zákazník přetažením produkt z tabulky Zdroje datokno WPF (Windows Presentation Foundation) Designer.

K vytvořit ovládací prvky vázané na data

  1. V Zdroje dat okno rozevírací nabídka pro produkt uzlu a vyberte Podrobnosti O.

  2. Rozbalte produkt uzel.

  3. V tomto příkladu některá pole, zobrazí se tak rozevírací nabídka vedle následující uzly a vyberte žádný:

    • ProductCategoryID

    • ProductModelID

    • ThumbnailPhotoFileName

    • ROWGUID

    • ModifiedDate

  4. Klepněte vedle rozevírací nabídka ThumbNailPhoto uzlu a vyberte obraz.

    [!POZNÁMKA]

    Výchozí položky Zdroje dat okno představují obrázky mají jejich výchozí ovládací prvek nastavena na hodnotu žádné. Je to proto, že jsou obrázky uloženy jako byte pole v databázích a byte pole může obsahovat cokoli od jednoduché pole bajtů na spustitelný soubor soubor velké aplikace.

  5. Z Zdroje dat okno, přetáhněte produkt uzel řádek mřížky pod řádkem, který obsahuje tlačítka.

    Visual Studio generuje jazyk XAML , který definuje sadu ovládacích prvků, které jsou vázány na data produkty tabulky.Také vygeneruje kód, který načte data.Další informace generované jazyk XAML a kódu Ovládací prvky WPF vazby na Data v aplikaci Visual Studio.

  6. designerklepněte vedle textové pole ID produktujmenovka.

  7. V Vlastnosti oknovyberte vedle zaškrtávací políčko IsReadOnlyvlastnost.

Procházení záznamů produktu

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

Povolit uživatelům procházet záznamy

  1. designerpoklepejte < na povrchu okno na tlačítko.

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

  2. Změnit Window_Loadedobslužné rutiny událost tak, aby se ProductViewSource, AdventureWorksLTDataSet, a AdventureWorksLTDataSetProductTableAdapter jsou mimo metoda a přístupné pro celý formulář. deklarovat pouze tyto globální do formulář, přiřadit jim v rámci Window_Loadedobslužné rutiny událost podobné následujícím:

    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řidejte následující kód do obslužné rutiny události backButton_Click:

    If ProductViewSource.View.CurrentPosition > 0 Then
        ProductViewSource.View.MoveCurrentToPrevious()
    End If
    
    if (productViewSource.View.CurrentPosition > 0)
    {
        productViewSource.View.MoveCurrentToPrevious();
    }
    
  4. Vrátí designer a poklepejte na > tlačítko.

  5. Přidejte následující kód do obslužné rutiny události nextButton_Click:

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

Uložení změn do produktu záznamy

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

Přidat možnost uložení změn do produktu záznamy

  1. designerpoklepejte Uložit změny tlačítko.

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

  2. Přidejte následující kód do obslužné rutiny události saveButton_Click:

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

    [!POZNÁMKA]

    V tomto příkladu Save metoda TableAdapter uložit změny. Důvodem je vhodné v tomto návodu je měněn pouze jednu tabulka dat .Pokud potřebujete uložit změny do více tabulek dat, můžete také použít UpdateAll metoda TableAdapterManager , Visual Studio vytvoří s vaší dataset. Další informace naleznete v tématu Přehled TableAdapterManager.

Testování aplikace

Sestavte a spusťte aplikaci.Ověřte, že můžete zobrazit a aktualizace záznamy.

Testování aplikace

  1. Stiskněte tlačítko F5.

    aplikace vytvoří a spustí.Zkontrolujte následující:

    • Textová pole zobrazit data z prvního záznamu produktu, který má fotografie.Tento produkt má ID 713 produktu a název Jersey Logo dlouhých rukávů, S.

    • Klepnutím > nebo < tlačítka Procházet ostatní záznamy.

  2. V jednom produktu záznamů změnit velikosti hodnotu a klepněte na tlačítko Uložit změny.

  3. Ukončete aplikacea stisknutím klávesy restartujte aplikace F5 v Visual Studio.

  4. Přejděte na záznam produktu, které jste změnili a ověřte, že změna trvalá.

  5. Ukončete aplikaci.

Další kroky

Po dokončení tohoto postupu můžete provádět následující související úkoly:

Viz také

Úkoly

Jak: WPF ovládací prvky vázat na Data v aplikaci Visual Studio

Názorný postup: Vazba na datový Model entita WPF ovládací prvky

Názorný postup: Vazba WPF ovládací prvky pro Data služby WCF

Koncepty

Ovládací prvky WPF vazby na Data v aplikaci Visual Studio

Práce se soubory v aplikaci Visual Studio

WPF a Silverlight Designer – přehled

Přehled vázání dat