Creare tabelle di ricerca nelle applicazioni WPF di .NET Framework
Nota
I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.
Il termine tabella di ricerca (talvolta detta associazione di ricerca) descrive un controllo che visualizza le informazioni di una tabella dati in base al valore di un campo chiave esterna in un'altra tabella. È possibile creare una tabella di ricerca trascinando il nodo principale di una tabella padre o di un oggetto nella finestra Origini dati in un controllo già associato a una colonna o a una proprietà in una tabella figlio correlata.
Si consideri, ad esempio, una tabella di Orders
in un database di vendita. Ogni record nella Orders
tabella include un oggetto CustomerID
che indica il cliente che ha effettuato l'ordine. CustomerID
è una chiave esterna che punta a un record cliente nella Customers
tabella. Quando si visualizza un elenco di ordini dalla Orders
tabella, è possibile visualizzare il nome effettivo del cliente anziché .CustomerID
Poiché il nome del cliente si trova nella Customers
tabella, è necessario creare una tabella di ricerca per visualizzare il nome del cliente. La tabella di ricerca usa il CustomerID
valore nel Orders
record per spostarsi nella relazione e restituire il nome del cliente.
Per creare una tabella di ricerca
Aggiungere uno dei tipi di origini dati seguenti con i dati correlati al progetto:
Set di dati o Entity Data Model.
Servizio dati WCF, servizio WCF o servizio Web. Per altre informazioni, vedere Procedura: Connettersi ai dati in un servizio.
Oggetti. Per altre informazioni, vedere Associare a oggetti in Visual Studio.
Nota
Prima di creare una tabella di ricerca, due tabelle o oggetti correlati devono esistere come origine dati per il progetto.
Aprire Progettazione WPF e assicurarsi che la finestra di progettazione contenga un contenitore che rappresenta una destinazione di rilascio valida per gli elementi nella finestra Origini dati.
Per altre informazioni sulle destinazioni di rilascio valide, vedere Associare controlli WPF ai dati in Visual Studio.
Scegliere Mostra origini dati dal menu Dati per aprire la finestra Origini dati.
Espandere i nodi nella finestra Origini dati fino a visualizzare la tabella o l'oggetto padre e la tabella o l'oggetto figlio correlato.
Nota
La tabella o l'oggetto figlio correlato è il nodo visualizzato come nodo figlio espandibile nella tabella o nell'oggetto padre.
Fare clic sul menu a discesa per il nodo figlio e selezionare Dettagli.
Espandere il nodo figlio.
Nel nodo figlio fare clic sul menu a discesa dell'elemento relativo ai dati figlio e padre. (Nell'esempio precedente, questo è il Nodo CustomerID . Selezionare uno dei tipi di controlli seguenti che supportano l'associazione di ricerca:
ComboBox
ListBox
ListView
Nota
Se il controllo ListBox o ListView non viene visualizzato nell'elenco, è possibile aggiungere questi controlli all'elenco. Per informazioni, vedere Impostare il controllo da creare durante il trascinamento dalla finestra Origini dati.
Qualsiasi controllo personalizzato che deriva da Selector.
Nota
Per informazioni su come aggiungere controlli personalizzati all'elenco dei controlli che è possibile selezionare per gli elementi nella finestra Origini dati, vedere Aggiungere controlli personalizzati alla finestra Origini dati.
Trascinare il nodo figlio dalla finestra Origini dati in un contenitore nella finestra di progettazione WPF. Nell'esempio precedente il nodo figlio è Nodo Ordini .
Visual Studio genera codice XAML che crea nuovi controlli associati a dati per ognuno degli elementi trascinati. Xaml aggiunge anche un nuovo CollectionViewSource oggetto per la tabella o l'oggetto figlio alle risorse della destinazione di rilascio. Per alcune origini dati, Visual Studio genera anche codice per caricare i dati nella tabella o nell'oggetto . Per altre informazioni, vedere Associare controlli WPF ai dati in Visual Studio.
Trascinare il nodo padre dalla finestra Origini dati nel controllo di associazione di ricerca creato in precedenza. Nell'esempio precedente il nodo padre è Nodo Clienti ).
Visual Studio imposta alcune proprietà nel controllo per configurare l'associazione di ricerca. Nella tabella seguente sono elencate le proprietà modificate da Visual Studio. Se necessario, puoi modificare queste proprietà nel codice XAML o nella finestra Proprietà .
Proprietà Spiegazione dell'impostazione ItemsSource Questa proprietà specifica la raccolta o l'associazione utilizzata per ottenere i dati visualizzati nel controllo . Visual Studio imposta questa proprietà sull'oggetto CollectionViewSource per i dati padre trascinati nel controllo . DisplayMemberPath Questa proprietà specifica il percorso dell'elemento di dati visualizzato nel controllo . Visual Studio imposta questa proprietà sulla prima colonna o proprietà nei dati padre, dopo la chiave primaria, con un tipo di dati stringa.
Se si desidera visualizzare una colonna o una proprietà diversa nei dati padre, impostare questa proprietà sul percorso di una proprietà diversa.SelectedValue Visual Studio associa questa proprietà alla colonna o alla proprietà dei dati figlio trascinati nella finestra di progettazione. Si tratta della chiave esterna per i dati padre. SelectedValuePath Visual Studio imposta questa proprietà sul percorso della colonna o della proprietà dei dati figlio che rappresenta la chiave esterna ai dati padre.