Procedura dettagliata: visualizzazione di dati correlati in un Windows Form

 

Pubblicato: luglio 2016

In molti scenari di applicazioni può essere necessario usare dati provenienti da più tabelle, spesso anche correlate, ovvero usare relazioni padre-figlio. Può ad esempio essere necessario creare un form in cui la selezione del record di un cliente determini la visualizzazione degli ordini relativi. Per visualizzare i record correlati nel form è necessario impostare la proprietà DataSource dell'oggetto figlio BindingSource sull'oggetto BindingSource (non sulla tabella figlio) e impostare la proprietà DataMember dell'oggetto figlio BindingSource sulla relazione dati che collega le tabelle padre e figlio.

Le attività illustrate nella procedura dettagliata sono le seguenti:

  • Creazione di un progetto Applicazione Windows.

  • Creazione e configurazione di un set di dati nell'applicazione in base alle tabelle Customers e Orders del database Northwind mediante la Configurazione guidata origine dati.

  • Aggiunta di controlli per visualizzare i dati della tabella Customers.

  • Aggiunta di controlli per visualizzare le voci della tabella Orders in base al Customer selezionato.

  • Test dell'applicazione selezionando diversi clienti e verificando che vengano visualizzati gli ordini corretti per il cliente selezionato.

Prerequisiti

Per completare questa procedura dettagliata, è necessario:

Creazione del progetto

Il primo passaggio consiste nella creazione di un'applicazione Windows.

Per creare il progetto Applicazione Windows

  1. Scegliere il comando per la creazione di un nuovo progetto dal menu File.

  2. Assegnare al progetto il nome RelatedDataWalkthrough.

  3. Selezionare Applicazione Windows e fare clic su OK. Per altre informazioni, vedere Sviluppo di applicazioni client con .NET Framework.

    Il progetto RelatedDataWalkthrough viene creato e aggiunto a Esplora soluzioni.

Creazione dell'origine dati

In questo passaggio viene creato un set di dati in base alle tabelle Customers e Orders del database di esempio Northwind.

Per creare l'origine dati

  1. Scegliere Mostra origini dati dal menu Dati.

  2. Nella finestra Origini dati selezionare Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.

  3. Selezionare Database nella pagina Scegliere un tipo di origine dati e scegliere Avanti.

  4. Nella pagina Seleziona connessione dati eseguire una delle operazioni seguenti:

    • Selezionare la connessione dati al database di esempio Northwind nell'elenco a discesa, se presente.

      -oppure-

    • Selezionare Nuova connessione per aprire la finestra di dialogo Aggiungi/Modifica connessione.

  5. Se il database in uso richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.

  6. Nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione fare clic su Avanti.

  7. Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.

  8. Selezionare le tabelle Customers e Orders, quindi scegliere Fine.

    L'oggetto NorthwindDataSet viene aggiunto al progetto e la tabella Customers viene visualizzata nella finestra Origini dati.

Creazione di controlli per visualizzare i dati della tabella Customers

Per creare controlli che consentano di visualizzare i dati del cliente (record padre)

  1. Nella finestra Origini dati selezionare la tabella Customers, quindi fare clic sulla freccia a discesa.

  2. Scegliere Dettagli dal menu.

  3. Trascinare il nodo Customers principale dalla finestra Origini dati alla parte superiore del Form1.

    Il form mostra i controlli associati a dati con etichette descrittive e un controllo Toolstrip (BindingNavigator) per lo spostamento all'interno dei record. Nella barra dei componenti vengono visualizzati gli oggetti NorthwindDataSet, CustomersTableAdapter, BindingSource e BindingNavigator.

Creazione di controlli per visualizzare i dati della tabella Orders

Finestra Origini dati con visualizzazione delle relazioni

Per creare controlli che consentano di visualizzare gli ordini di ciascun cliente (record figlio)

  • Nella finestra Origini dati espandere il nodo Customers e selezionare l'ultima colonna della tabella Customers, che rappresenta un nodo Orders espandibile, e trascinarlo nella parte superiore di Form1.

    Al form viene aggiunto un oggetto DataGridView e alla barra dei componenti vengono aggiunti un nuovo oggetto BindingSource (OrdersBindingSource) e un TableAdapter (OrdersTableAdapter).

    Nota

    Aprire la Finestra Proprietà e selezionare OrdersBindingSource.Esaminare le proprietà DataSource e DataMember per stabilire come è configurata l'associazione per la visualizzazione dei record correlati.La proprietà DataSource è impostata su CustomersBindingSource (elemento BindingSource della tabella padre), anziché sulla tabella Orders.La proprietà DataMember è impostata su FK_Orders_Customers, ovvero il nome dell'oggetto DataRelation che mette in correlazione tra loro le tabelle.

Verifica dell'applicazione

Per eseguire il test dell'applicazione

  1. Premere F5 per eseguire l'applicazione.

  2. Selezionare diversi clienti mediante CustomersBindingNavigator per verificare che in DataGridView vengano visualizzati gli ordini corretti.

Passaggi successivi

A seconda dei requisiti dell'applicazione, si potranno eseguire diverse operazioni una volta terminata la creazione di un form master-dettagli. È possibile apportare un miglioramento a questa procedura dettagliata, ovvero:

Vedere anche

Procedure dettagliate relative ai dati
Origini dati (finestra)
Associazione di controlli Windows Form ai dati in Visual Studio
Cenni preliminari sulle origini dati
Cenni preliminari sugli oggetti TableAdapter
Procedura: visualizzare dati correlati in un'applicazione Windows Form
Cenni preliminari sul componente BindingSource
Cenni preliminari sul controllo BindingNavigator (Windows Form)