Procedura: creare una tabella di ricerca per un controllo ComboBox, ListBox o CheckedListBox Windows FormHow to: Create a Lookup Table for a Windows Forms ComboBox, ListBox, or CheckedListBox Control

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.Sometimes it is useful to display data in a user-friendly format on a Windows Form, but store the data in a format that is more meaningful to your program. Ad esempio un form di ordinazione per generi alimentari può visualizzare le voci di menu ordinate in base al nome in una casella di riepilogo,For example, an order form for food might display the menu items by name in a list box. mentre la tabella dati per la registrazione dell'ordine può contenere i numeri univoci di identificazione corrispondenti a ogni piatto.However, the data table recording the order would contain the unique ID numbers representing the food. Nelle tabelle seguenti viene mostrato un esempio di memorizzazione e visualizzazione dei dati contenuti in un form di ordinazione per generi alimentari.The following tables show an example of how to store and display order-form data for food.

OrderDetailsTableOrderDetailsTable

OrderIDOrderID ItemIDItemID QuantitàQuantity
40854085 1212 11
40864086 1313 33

ItemTableItemTable

IdID nomeName
1212 PatatePotato
1313 PolloChicken

In questo scenario, una tabella, OrderDetailsTable, archivia le informazioni relative alla visualizzazione e salvataggio.In this scenario, one table, OrderDetailsTable, stores the actual information you are concerned with displaying and saving. Per risparmiare spazio, però, la memorizzazione avviene in modo piuttosto criptico.But to save space, it does so in a fairly cryptic fashion. L'altra tabella, ItemTable, contiene solo le informazioni correlate all'aspetto ID è equivalente a ogni piatto e niente in merito a ordinazioni numero.The other table, ItemTable, contains only appearance-related information about which ID number is equivalent to which food name, and nothing about the actual food orders.

Il ItemTable è connesso il ComboBox, ListBox, o CheckedListBox attraverso tre proprietà.The ItemTable is connected to the ComboBox, ListBox, or CheckedListBox control through three properties. Il DataSource proprietà contiene il nome della tabella.The DataSource property contains the name of this table. Il DisplayMember proprietà contiene la colonna di dati della tabella che si desidera visualizzare nel controllo (il nome di cibo).The DisplayMember property contains the data column of that table that you want to display in the control (the food name). Il ValueMember proprietà contiene la colonna di dati della tabella con le informazioni memorizzate (il numero ID).The ValueMember property contains the data column of that table with the stored information (the ID number).

Il OrderDetailsTable è collegata al controllo con il suo insieme di associazioni, accessibile tramite la DataBindings proprietà.The OrderDetailsTable is connected to the control by its bindings collection, accessed through the DataBindings property. Quando si aggiunge un oggetto di associazione alla raccolta, connettersi a una proprietà del controllo a un membro dati specifico (la colonna dei numeri ID) in un'origine dati (il OrderDetailsTable).When you add a binding object to the collection, you connect a control property to a specific data member (the column of ID numbers) in a data source (the OrderDetailsTable). Quando nel controllo viene effettuata una selezione, l'input del form viene salvato in questa tabella.When a selection is made in the control, this table is where the form input is saved.

Per creare una tabella di ricercaTo create a lookup table

  1. Aggiungere un controllo ComboBox, ListBox o CheckedListBox al form.Add a ComboBox, ListBox, or CheckedListBox control to the form.

  2. Effettuare la connessione all'origine dati.Connect to your data source.

  3. Stabilire una relazione dati tra le due tabelle.Establish a data relation between the two tables. Vedere Introduzione agli oggetti DataRelation.See Introduction to DataRelation Objects.

  4. Impostare le proprietà seguenti,Set the following properties. nel codice o nella finestra di progettazione.They can be set in code or in the designer.

    ProprietàProperty ImpostazioneSetting
    DataSource Nella tabella sono contenute le informazioni relative ai numeri ID equivalenti alle diverse voci.The table that contains information about which ID number is equivalent to which item. Nello scenario precedente, si tratta di ItemTable.In the previous scenario, this is ItemTable.
    DisplayMember La colonna della tabella dell'origine dati che si vuole visualizzare nel controllo.The column of the data source table that you want to display in the control. Nello scenario precedente, si tratta di "Name" (per impostare nel codice, utilizzare le virgolette).In the previous scenario, this is "Name" (to set in code, use quotation marks).
    ValueMember La colonna della tabella di origine dati che contiene le informazioni memorizzate.The column of the data source table that contains the stored information. Nello scenario precedente, si tratta di "ID" (per impostare nel codice, utilizzare le virgolette).In the previous scenario, this is "ID" (to set in code, use quotation marks).
  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.In a procedure, call the Add method of the ControlBindingsCollection class to bind the control's SelectedValue property to the table recording the form input. Per effettuare questa operazione nella finestra di progettazione anziché nel codice, accedendo del controllo DataBindings proprietà il proprietà finestra.You can also do this in the Designer instead of in code, by accessing the control's DataBindings property in the Properties window. Nello scenario precedente, si tratta di OrderDetailsTable, e la colonna è "ItemID".In the previous scenario, this is OrderDetailsTable, and the column is "ItemID".

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

Vedere ancheSee Also

Data binding e Windows FormsData Binding and Windows Forms
Panoramica sul controllo ListBoxListBox Control Overview
Panoramica sul controllo ComboBoxComboBox Control Overview
Panoramica sul controllo CheckedListBoxCheckedListBox Control Overview
Controlli Windows Form usati per elencare opzioniWindows Forms Controls Used to List Options