Condividi tramite


Procedura: Creare una tabella di ricerca con il componente BindingSource di Windows Form

Una tabella di ricerca è una tabella di dati con una colonna che visualizza i dati dei record in una tabella correlata. Nelle procedure seguenti viene utilizzato un controllo ComboBox per visualizzare il campo con la relazione di chiave esterna dalla tabella padre alla tabella figlia.

Per visualizzare queste due tabelle e questa relazione, di seguito è riportato un esempio di tabella padre e figlio:

TabellaClienti (tabella padre)

ID Cliente NomeCliente
712 Paul Koch
713 Tamara Johnston

OrdersTable (tabella figlio)

OrderID Data Ordine ID Cliente
903 12 febbraio 2004 712
904 13 febbraio 2004 713

In questo scenario, una tabella, CustomersTable, archivia le informazioni effettive da visualizzare e salvare. Ma per risparmiare spazio, la tabella omette i dati che aggiungono chiarezza. L'altra tabella, OrdersTable, contiene solo informazioni su quale numero ID cliente corrisponde a quale data dell'ordine e ID ordine. Non vi è alcuna menzione dei nomi dei clienti.

Vengono impostate quattro proprietà importanti sul controllo ComboBox per creare la lookup table.

  • La proprietà DataSource contiene il nome della tabella.

  • La proprietà DisplayMember contiene la colonna di dati della tabella che si desidera visualizzare per il testo del controllo (nome del cliente).

  • La proprietà ValueMember contiene la colonna di dati della tabella con le informazioni archiviate (il numero ID nella tabella padre).

  • La proprietà SelectedValue fornisce il valore di ricerca per la tabella figlia, in base al ValueMember.

Le procedure seguenti illustrano come disporre il modulo come tabella di ricerca e collegare i dati ai controlli. Per completare correttamente le procedure, è necessario disporre di un'origine dati con tabelle padre e figlio con una relazione di chiave esterna, come indicato in precedenza.

Per creare l'interfaccia utente

  1. Dalla ToolBoxtrascinare un controllo ComboBox nel form.

    Questo controllo visualizzerà la colonna dalla tabella principale.

  2. Trascinare altri controlli per visualizzare i dettagli dalla tabella figlio. Il formato dei dati nella tabella deve determinare i controlli scelti. Per altre informazioni, vedere controlli Windows Forms per funzione.

  3. Trascina un controllo BindingNavigator sul modulo; in questo modo sarà possibile esplorare i dati nella tabella secondaria.

Per connettersi ai dati e associarli ai controlli

  1. Selezionare il ComboBox e fare clic sul glifo Smart Task per visualizzare la finestra di dialogo Smart Task.

  2. Selezionare Utilizzare elementi associati a dati.

  3. Fare clic sulla freccia accanto al menu a tendina Origine Dati. Se un'origine dati è stata configurata in precedenza per il progetto o il modulo, verrà visualizzata; In caso contrario, completare i passaggi seguenti (in questo esempio vengono utilizzate le tabelle Customers e Orders del database di esempio Northwind e si riferisce a tali tabelle tra parentesi).

    1. Fare clic su Aggiungi origine dati del progetto per connettersi ai dati e creare un'origine dati.

    2. Nella pagina di benvenuto della procedura guidata di configurazione dell'origine dati , fare clic su Avanti.

    3. Selezionare Database nella pagina Scegli un tipo di origine dati.

    4. Selezionare una connessione dati dall'elenco delle connessioni disponibili nella pagina Scegli la tua connessione dati. Se la connessione dati desiderata non è disponibile, selezionare Nuova connessione per creare una nuova connessione dati.

    5. Fare clic su Sì, salvare la connessione per salvare la stringa di connessione nel file di configurazione dell'applicazione.

    6. Selezionare gli oggetti di database da inserire nell'applicazione. In questo caso, selezionare una tabella principale e una tabella secondaria (ad esempio Clienti e Ordini) con un collegamento a chiave esterna.

    7. Sostituire il nome del set di dati predefinito, se necessario.

    8. Fare clic su Fine.

  4. Nella casella a discesa membro visualizzato, selezionare il nome della colonna (ad esempio ContactName) da visualizzare nella casella combinata.

  5. Nella casella di riepilogo a discesa membro valore selezionare la colonna (ad esempio CustomerID) per eseguire l'operazione di ricerca nella tabella figlia.

  6. Nel menu a discesa del valore selezionato, passare a Origini dati del progetto e al set di dati appena creato che contiene le tabelle padre e figlio. Selezionare la stessa proprietà della tabella figlio che corrisponde al membro valore della tabella padre, ad esempio Orders.CustomerID. I componenti appropriati BindingSource, set di dati e adattatori di tabella verranno creati e aggiunti al modulo.

  7. Associare il controllo BindingNavigator alla BindingSource della sottotabella, ad esempio OrdersBindingSource.

  8. Associare i controlli diversi dai controlli ComboBox e BindingNavigator ai campi di dettaglio della tabella figlio BindingSource, ad esempio OrdersBindingSource, che si desidera visualizzare.

Vedere anche