Skapa uppslagstabeller i .NET Framework WPF-program

Anmärkning

Klassen DataSet och relaterade klasser är äldre .NET Framework-tekniker från början av 2000-talet som gör det möjligt för program att arbeta med data i minnet medan apparna kopplas från databasen. Teknikerna är särskilt användbara för appar som gör det möjligt för användare att ändra data och spara ändringarna tillbaka till databasen. Även om datauppsättningar är en bevisad framgångsrik teknik är den rekommenderade metoden för nya .NET-program att använda Entity Framework Core. Entity Framework är ett mer naturligt sätt att arbeta med tabelldata som objektmodeller och har ett enklare programmeringsgränssnitt.

Uppslagstabell (kallas ibland en uppslagsbindning) beskriver en kontroll som visar information från en datatabell baserat på värdet för ett främmande nyckelfält i en annan tabell. Du kan skapa en uppslagstabell genom att dra huvudnoden i en överordnad tabell eller ett objekt i fönstret Datakällor till en kontroll som redan är bunden till en kolumn eller egenskap i en relaterad underordnad tabell.

Du kan till exempel överväga en tabell Orders i en försäljningsdatabas. Varje post i Orders tabellen innehåller en CustomerID som anger vilken kund som har lagt beställningen. CustomerID är en främmande nyckel som pekar på en kundpost i tabellen Customers. När du visar en lista med beställningar från Orders tabellen kanske du vill visa det faktiska kundnamnet i stället för CustomerID. Eftersom kundnamnet finns i Customers tabellen måste du skapa en uppslagstabell för att visa kundnamnet. Uppslagstabellen använder CustomerID-värdet i Orders-posten för att navigera relationen och returnera kundnamnet.

Skapa en uppslagstabell

  1. Lägg till någon av följande typer av datakällor med relaterade data i projektet:

    Anmärkning

    Innan du kan skapa en uppslagstabell måste två relaterade tabeller eller objekt finnas som datakälla för projektet.

  2. Öppna WPF Designer och se till att designern innehåller en container som är ett giltigt släppmål för objekt i fönstret Datakällor .

    Mer information om giltiga släppmål finns i Binda WPF-kontroller till data i Visual Studio.

  3. På menyn Data klickar du på Visa datakällor för att öppna fönstret Datakällor .

  4. Expandera noderna i fönstret Datakällor tills du kan se den överordnade tabellen eller objektet och den relaterade underordnade tabellen eller objektet.

    Anmärkning

    Den relaterade underordnade tabellen eller objektet är noden som visas som en expanderbar barnnod under den överordnade tabellen eller objektet.

  5. Klicka på listrutan för den underordnade noden och välj Information.

  6. Expandera den underordnade noden.

  7. Under den underordnade noden klickar du på listrutan för det objekt som relaterar underordnade och överordnade data. (I föregående exempel är det här noden CustomerID .) Välj någon av följande typer av kontroller som stöder uppslagsbindning:

  8. Dra den underordnade noden från fönstret Datakällor till en container i WPF-designern. (I föregående exempel är den underordnade noden noden Beställningar .)

    Visual Studio genererar XAML som skapar nya databundna kontroller för vart och ett av de objekt som du drar. XAML lägger också till en ny CollectionViewSource för den underordnade tabellen eller objektet till resurserna i släppmålet. För vissa datakällor genererar Visual Studio även kod för att läsa in data i tabellen eller objektet. Mer information finns i Binda WPF-kontroller till data i Visual Studio.

  9. Dra den överordnade noden från fönstret Datakällor till uppslagsbindningskontrollen som du skapade tidigare. (I föregående exempel är den överordnade noden noden Kunder ).

    Visual Studio anger vissa egenskaper för kontrollen för att konfigurera uppslagsbindningen. I följande tabell visas de egenskaper som Visual Studio ändrar. Om det behövs kan du ändra dessa egenskaper i XAML eller i fönstret Egenskaper .

    Fastighet Förklaring av inställning
    ItemsSource Den här egenskapen anger den samling eller bindning som används för att hämta de data som visas i kontrollen. Visual Studio anger den här egenskapen till CollectionViewSource för de överordnade data som du drog till kontrollen.
    DisplayMemberPath Den här egenskapen anger sökvägen till det dataobjekt som visas i kontrollen. Visual Studio anger den här egenskapen till den första kolumnen eller egenskapen i de överordnade data, efter primärnyckeln, som har en strängdatatyp.

    Om du vill visa en annan kolumn eller egenskap i den överordnade datan ändrar du den här egenskapen till stigen till en annan egenskap.
    SelectedValue Visual Studio binder den här egenskapen till kolumnen eller egenskapen för de underliggande data som du har dragit till designverktyget. Det här är den externa nyckeln till den överordnade datan.
    SelectedValuePath Visual Studio anger den här egenskapen till sökvägen till kolumnen eller egenskapen för underordnade data som är främmandenyckeln till huvuddata.