Tworzenie tabel odnośników w aplikacjach WPF programu .NET Framework
Uwaga
Zestawy danych i powiązane klasy to starsze technologie .NET Framework z początku 2000 roku, które umożliwiają aplikacjom pracę z danymi w pamięci, gdy aplikacje są odłączone od bazy danych. Technologie te są szczególnie przydatne w przypadku aplikacji, które umożliwiają użytkownikom modyfikowanie danych i utrwalanie zmian z powrotem w bazie danych. Mimo że zestawy danych okazały się bardzo udaną technologią, zalecamy, aby nowe aplikacje platformy .NET używały platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma prostszy interfejs programowania.
Termin tabela odnośników (czasami nazywana powiązaniem odnośnika) opisuje kontrolkę, która wyświetla informacje z jednej tabeli danych na podstawie wartości pola klucza obcego w innej tabeli. Tabelę odnośników można utworzyć, przeciągając główny węzeł tabeli nadrzędnej lub obiektu w oknie Źródła danych do kontrolki, która jest już powiązana z kolumną lub właściwością w powiązanej tabeli podrzędnej.
Na przykład rozważmy tabelę Orders
w bazie danych sprzedaży. Każdy rekord w Orders
tabeli zawiera element CustomerID
wskazujący, który klient złożył zamówienie. Jest CustomerID
to klucz obcy, który wskazuje rekord klienta w Customers
tabeli. Po wyświetleniu listy zamówień z Orders
tabeli możesz wyświetlić rzeczywistą nazwę klienta zamiast CustomerID
. Ponieważ nazwa klienta znajduje się w Customers
tabeli, należy utworzyć tabelę odnośników, aby wyświetlić nazwę klienta. Tabela odnośników używa CustomerID
wartości w rekordzie Orders
w celu nawigowania po relacji i zwracania nazwy klienta.
Aby utworzyć tabelę odnośników
Dodaj jeden z następujących typów źródeł danych z powiązanymi danymi do projektu:
Zestaw danych lub model danych jednostki.
Usługa danych WCF, usługa WCF lub usługa internetowa. Aby uzyskać więcej informacji, zobacz How to: Connect to Data in a Service (Instrukcje: nawiązywanie połączenia z danymi w usłudze).
Obiekty. Aby uzyskać więcej informacji, zobacz Wiązanie z obiektami w programie Visual Studio.
Uwaga
Przed utworzeniem tabeli odnośników muszą istnieć dwie powiązane tabele lub obiekty jako źródło danych dla projektu.
Otwórz projektanta WPF i upewnij się, że projektant zawiera kontener, który jest prawidłowym elementem docelowym upuszczania elementów w oknie Źródła danych.
Aby uzyskać więcej informacji o prawidłowych miejscach docelowych upuszczania, zobacz Wiązanie kontrolek WPF z danymi w programie Visual Studio.
W menu Dane kliknij pozycję Pokaż źródła danych, aby otworzyć okno Źródła danych.
Rozwiń węzły w oknie Źródła danych, dopóki nie będzie można wyświetlić tabeli nadrzędnej lub obiektu oraz powiązanej tabeli podrzędnej lub obiektu.
Uwaga
Powiązana tabela podrzędna lub obiekt to węzeł, który jest wyświetlany jako węzeł podrzędny z możliwością rozwinięcia w tabeli nadrzędnej lub obiekcie.
Kliknij menu rozwijane węzła podrzędnego, a następnie wybierz pozycję Szczegóły.
Rozwiń węzeł podrzędny.
W węźle podrzędnym kliknij menu listy rozwijanej dla elementu, który jest powiązany z danymi podrzędnymi i nadrzędnymi. (W poprzednim przykładzie jest toWęzeł CustomerID ). Wybierz jeden z następujących typów kontrolek, które obsługują powiązanie odnośników:
ComboBox
ListBox
ListView
Uwaga
Jeśli kontrolka ListBox lub ListView nie jest wyświetlana na liście, możesz dodać te kontrolki do listy. Aby uzyskać informacje, zobacz Ustawianie kontrolki do utworzenia podczas przeciągania z okna Źródła danych.
Dowolna kontrolka niestandardowa pochodząca z klasy Selector.
Uwaga
Aby uzyskać informacje na temat dodawania kontrolek niestandardowych do listy kontrolek, które można wybrać dla elementów w oknie Źródła danych, zobacz Dodawanie kontrolek niestandardowych do okna Źródła danych.
Przeciągnij węzeł podrzędny z okna Źródła danych do kontenera w projektancie WPF. (W poprzednim przykładzie węzeł podrzędny jest węzłem podrzędnym Węzeł Orders (Zamówienia).
Program Visual Studio generuje kod XAML, który tworzy nowe kontrolki powiązane z danymi dla każdego przeciąganego elementu. Kod XAML dodaje również nowy CollectionViewSource element dla tabeli podrzędnej lub obiektu do zasobów obiektu docelowego upuszczania. W przypadku niektórych źródeł danych program Visual Studio generuje również kod w celu załadowania danych do tabeli lub obiektu. Aby uzyskać więcej informacji, zobacz Wiązanie kontrolek WPF z danymi w programie Visual Studio.
Przeciągnij węzeł nadrzędny z okna Źródła danych do utworzonej wcześniej kontrolki powiązania odnośników. (W poprzednim przykładzie węzeł nadrzędny jest węzłem nadrzędnym Węzeł klienci ).
Program Visual Studio ustawia niektóre właściwości kontrolki w celu skonfigurowania powiązania odnośników. W poniższej tabeli wymieniono właściwości zmodyfikowane przez program Visual Studio. W razie potrzeby można zmienić te właściwości w języku XAML lub w oknie Właściwości .
Właściwości Wyjaśnienie ustawienia ItemsSource Ta właściwość określa kolekcję lub powiązanie używane do pobierania danych wyświetlanych w kontrolce. Program Visual Studio ustawia tę właściwość na CollectionViewSource wartość dla danych nadrzędnych przeciągniętych do kontrolki. DisplayMemberPath Ta właściwość określa ścieżkę elementu danych wyświetlanego w kontrolce. Program Visual Studio ustawia tę właściwość na pierwszą kolumnę lub właściwość w danych nadrzędnych po kluczu podstawowym, która ma typ danych ciągu.
Jeśli chcesz wyświetlić inną kolumnę lub właściwość w danych nadrzędnych, zmień tę właściwość na ścieżkę innej właściwości.SelectedValue Program Visual Studio wiąże tę właściwość z kolumną lub właściwością danych podrzędnych przeciągniętych do projektanta. Jest to klucz obcy danych nadrzędnych. SelectedValuePath Program Visual Studio ustawia tę właściwość na ścieżkę kolumny lub właściwości danych podrzędnych, które są kluczem obcym danych nadrzędnych.