Condividi tramite


Procedura: creare una tabella di ricerca per un controllo ComboBox, ListBox o CheckedListBox Windows Form

Può risultare utile visualizzare i dati all'interno di un Windows Form in un formato facilmente riconoscibile dall'utente ma memorizzare gli stessi dati in un formato che consenta una migliore gestione da parte del programma. Ad esempio un modulo di ordinazione per generi alimentari può visualizzare le voci di menu ordinate in base al nome in una casella di riepilogo, mentre la tabella dei dati per la registrazione dell'ordine può contenere i numeri univoci di identificazione corrispondenti a ogni piatto. Nelle tabelle seguenti viene mostrato un esempio di memorizzazione e visualizzazione dei dati contenuti in un modulo di ordinazione per generi alimentari.

OrderDetailsTable

OrderID

ID Voce

Quantity

4085

12

1

4086

13

3

ItemTable

ID

Nome

12

Patate

13

Pollo

In questo scenario, in una tabella, OrderDetailsTable, sono memorizzate le informazioni relative alla visualizzazione e al salvataggio. Per risparmiare spazio, però, la memorizzazione avviene in modo piuttosto criptico. Nella seconda tabella, ItemTable, sono contenute informazioni concernenti esclusivamente l'aspetto, relative al numero ID equivalente a ogni piatto, anziché alle ordinazioni vere e proprie.

La tabella ItemTable è connessa al controllo ComboBox, ListBox o CheckedListBox attraverso tre proprietà. La proprietà DataSource contiene il nome di questa tabella. La proprietà DisplayMember contiene la colonna di dati della tabella da visualizzare nel controllo, quella contenente i nomi dei piatti. La proprietà ValueMember contiene la colonna di dati della tabella con le informazioni memorizzate (il numero ID).

La tabella OrderDetailsTable è connessa al controllo tramite il suo insieme di associazioni, accessibile attraverso la proprietà DataBindings. Quando si aggiunge un oggetto di associazione all'insieme, una proprietà del controllo viene collegata a un membro dati specifico (la colonna dei numeri ID) in un'origine dati (la tabella OrderDetailsTable). Quando nel controllo viene effettuata una selezione, l'input del form viene salvato in questa tabella.

Per creare una tabella di ricerca

  1. Aggiungere un controllo ComboBox, ListBox o CheckedListBox al form.

  2. Effettuare la connessione all'origine dati.

  3. Stabilire una relazione dati tra le due tabelle. Per ulteriori informazioni, vedere Introduzione agli oggetti DataRelation e Introduzione agli oggetti DataRelation e Introduzione agli oggetti DataRelation e Introduzione agli oggetti DataRelation e Introduzione agli oggetti DataRelation.

  4. Impostare le proprietà indicate di seguito. nel codice o nella finestra di progettazione.

    Proprietà

    Impostazione

    DataSource

    Nella tabella sono contenute le informazioni relative ai numeri ID equivalenti alle diverse voci. Nello scenario precedente, si tratta di ItemTable.

    DisplayMember

    La colonna della tabella dell'origine dati che si desidera visualizzare nel controllo. Nello scenario precedente, si tratta di "Name" (utilizzare le virgolette per l'impostazione nel codice).

    ValueMember

    La colonna della tabella di origine dati che contiene le informazioni memorizzate. Nello scenario precedente, si tratta di "ID" (utilizzare le virgolette per l'impostazione nel codice).

  5. In una routine, chiamare il metodo Add della classe ControlBindingsCollection per associare la proprietà SelectedValue del controllo alla tabella che registra l'input del form. Per effettuare questa operazione nella finestra di progettazione, anziché nel codice, accedere alla proprietà DataBindings del controllo nella finestra Proprietà. Nello scenario precedente, si tratta di OrderDetailsTable e la colonna è "ItemID".

    ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")
    
    listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");
    
    listBox1.get_DataBindings().Add("SelectedValue", OrderDetailsTable, "ItemID");
    

Vedere anche

Riferimenti

Cenni preliminari sul controllo ListBox (Windows Form)

Cenni preliminari sul controllo ComboBox (Windows Form)

Cenni preliminari sul controllo CheckedListBox (Windows Form)

Concetti

Associazione dati e Windows Form

Altre risorse

Controlli Windows Form usati per elencare opzioni