Procedura dettagliata: visualizzazione di dati correlati in un Windows Form
In molti scenari relativi alle applicazioni può essere necessario utilizzare dati provenienti da più tabelle, spesso anche correlate, ovvero utilizzare 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 sul form è necessario impostare la proprietà DataSource dell'oggetto figlio BindingSource sull'oggetto padre BindingSource (non sulla tabella figlio) e impostare la proprietà DataMember dell'oggetto figlio BindingSource sulla relazione dati che collega le tabelle padre e figlio.
Di seguito sono elencate le attività illustrate nella procedura dettagliata:
Creazione di un progetto Applicazione Windows.
Creazione e configurazione di un dataset 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.
Esecuzione del test dell'applicazione selezionando diversi clienti e verificando che per il cliente selezionato vengano visualizzati gli ordini corrispondenti.
Prerequisiti
Per completare questa procedura dettagliata, è necessario quanto segue:
- Accedere al database di esempio Northwind. Per installare i database di esempio, vedere Procedura: installare database di esempio.
Creazione del progetto
Il primo passaggio consiste nella creazione di un'Applicazione Windows.
Per creare il nuovo progetto Applicazione Windows
Scegliere il comando per la creazione di un nuovo progetto dal menu File.
Assegnare al progetto il nome RelatedDataWalkthrough.
Selezionare Applicazione Windows e scegliere OK. Per ulteriori informazioni, vedere Creazione di applicazioni per Windows.
Il progetto RelatedDataWalkthrough viene creato e aggiunto a Esplora soluzioni.
Creazione dell'origine dati
In questo passaggio verrà creato un dataset basato sulle tabelle Customers e Orders del database di esempio Northwind.
Per creare l'origine dati
Scegliere Mostra origini dati dal menu Dati.
Nella finestra Origini dati selezionare Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.
Selezionare Database nella pagina Scegliere un tipo di origine dati e scegliere Avanti.
Nella pagina Seleziona connessione dati effettuare una delle seguenti operazioni:
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. Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi/Modifica connessione (generale).
Se il database in uso richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.
Scegliere Avanti nella pagina Salva la stringa di connessione nel file di configurazione dell'applicazione.
Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.
Selezionare le tabelle Customers e Orders, quindi scegliere Fine.
Il dataset 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)
Nella finestra Origini dati selezionare la tabella Customers, quindi fare clic sulla freccia a discesa.
Selezionare Dettagli dal menu.
Trascinare il nodo Customers principale dalla finestra Origini dati nella parte superiore del Form1.
Nel form vengono visualizzati i controlli con associazione a dati con etichette descrittive e un controllo Toolstrip (BindingNavigator) per lo spostamento all'interno dei record. Sulla barra dei componenti vengono visualizzati gli oggetti NorthwindDataSet, CustomersTableAdapter, BindingSource e BindingNavigator.
Creazione di controlli per visualizzare i dati della tabella Orders
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 nella tabella Customers, che rappresenta un nodo Orders espandibile, e trascinarla nella parte inferiore di Form1.
Al form viene aggiunto un oggetto DataGridView, mentre sulla barra dei componenti vengono aggiunti un nuovo componente BindingSource (OrdersBindingSource) e un TableAdapter (OrdersTableAdapter).
Nota
Aprire la finestra Proprietà e selezionare l'OrdersBindingSource. Consultare la documentazione sulle proprietà DataSource e DataMember per informazioni su 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, che rappresenta il nome dell'oggetto DataRelation che collega tra loro le tabelle.
Verifica dell'applicazione
Per eseguire il test dell'applicazione
Premere F5 per eseguire l'applicazione.
Selezionare diversi clienti mediante l'oggetto CustomersBindingNavigator per verificare che nel controllo 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:
- Filtraggio dei record Customers aggiungendo la parametrizzazione alla tabella Customers. Per eseguire questa operazione, selezionare un qualsiasi controllo in cui sono visualizzati dei dati della tabella Customers, fare clic sullo smart tag e scegliere Aggiungi query. Completare la Finestra di dialogo Generatore di criteri per la ricerca. Per ulteriori informazioni, vedere Procedura: aggiungere una query con parametri a un'applicazione Windows Form.
Vedere anche
Attività
Procedura: visualizzare dati correlati in un'applicazione Windows Form
Riferimenti
Cenni preliminari sul componente BindingSource
Cenni preliminari sul controllo BindingNavigator (Windows Form)
Concetti
Novità dello sviluppo di applicazioni di dati
Associazione di controlli Windows Form ai dati in Visual Studio
Cenni preliminari sulle origini dati
Cenni preliminari sugli oggetti TableAdapter