Créer des tables de recherche dans les applications Windows FormsCreate lookup tables in Windows Forms applications

Le terme table de recherche décrit les contrôles qui sont liés aux tables de données connexes deux.The term lookup table describes controls that are bound to two related data tables. Ces contrôles de recherche affichent les données à partir de la première table selon une valeur sélectionnée dans la seconde table.These lookup controls display data from the first table based on a value selected in the second table.

Vous pouvez créer des tables de choix en faisant glisser le nœud principal d’une table parente (à partir de la fenêtre Sources de données) vers un contrôle sur votre formulaire déjà lié à la colonne dans la table enfant connexe.You can create lookup tables by dragging the main node of a parent table (from the Data Sources Window) onto a control on your form that is already bound to the column in the related child table.

Par exemple, prenons une table Orders dans une base de données de ventes.For example, consider a table of Orders in a sales database. Chaque enregistrement dans le Orders table inclut une CustomerID, indiquant le client qui a passé la commande.Each record in the Orders table includes a CustomerID, indicating which customer placed the order. Le CustomerID est une clé étrangère pointant vers un enregistrement de client dans le Customers table.The CustomerID is a foreign key pointing to a customer record in the Customers table. Dans ce scénario, vous développez le Orders de table dans le des Sources de données fenêtre et la valeur du nœud principal détails.In this scenario, you expand the Orders table in the Data Sources window and set the main node to Details. Puis définissez la CustomerID colonne à utiliser un ComboBox (ou tout autre contrôle qui prend en charge la liaison de correspondance), puis faites glisser le Orders nœud vers votre formulaire.Then set the CustomerID column to use a ComboBox (or any other control that supports lookup binding), and drag the Orders node onto your form. Enfin, faites glisser le Customers nœud sur le contrôle qui est lié à la colonne associée, dans ce cas, le ComboBox lié à la CustomerID colonne.Finally, drag the Customers node onto the control that is bound to the related column — in this case, the ComboBox bound to the CustomerID column.

Pour un contrôle de recherche de databindTo databind a lookup control

  1. Ouvrez le des Sources de données fenêtre.Open the Data Sources window.

    Note

    Tables de correspondance nécessitent que deux tables ou objets connexes sont disponibles dans le des Sources de données fenêtre.Lookup tables require that two related tables or objects are available in the Data Sources window. Pour plus d’informations, consultez des relations dans les jeux de données.For more information, see Relationships in Datasets.

  2. Développez les nœuds dans le des Sources de données fenêtre jusqu'à ce que vous pouvez voir la table parente et toutes ses colonnes et la table enfant associée et toutes ses colonnes.Expand the nodes in the Data Sources window until you can see the parent table and all of its columns, and the related child table and all of its columns.

    Note

    Le nœud de la table enfant est le nœud qui apparaît sous la forme d’un nœud enfant peut être développé dans la table parente.The child table node is the node that appears as an expandable child node in the parent table.

  3. Modifier le type de déplacement de la table enfant à détails en sélectionnant détails à partir de la liste de contrôle sur le nœud de la table enfant.Change the drop type of the child table to Details by selecting Details from the control list on the child table's node. Pour plus d’informations, consultez définir le contrôle à créer lors du déplacement de la fenêtre Sources de données.For more information, see Set the control to be created when dragging from the Data Sources window.

  4. Localisez le nœud qui relie les deux tables (le CustomerID nœud dans l’exemple précédent). Modifier son type de déplacement pour une ComboBox en sélectionnant ComboBox à partir de la liste de contrôle.Locate the node that relates the two tables (the CustomerID node in the previous example).Change its drop type to a ComboBox by selecting ComboBox from the control list.

  5. Faites glisser le nœud de la table enfant principal à partir de la des Sources de données fenêtre vers votre formulaire.Drag the main child table node from the Data Sources window onto your form.

    Suppriment les contrôles liés aux données (avec des étiquettes descriptives) et un outil (BindingNavigator) apparaissent dans le formulaire.Databound controls (with descriptive labels) and a tool strip (BindingNavigator) appear on the form. A DataSet, TableAdapter, BindingSource, et BindingNavigator s’affichent dans la barre d’état du composant.A DataSet, TableAdapter, BindingSource, and BindingNavigator appear in the component tray.

  6. Maintenant, faites glisser le nœud de la table parent principal à partir de la des Sources de données fenêtre directement sur le contrôle de liste de choix (la ComboBox).Now drag the main parent table node from the Data Sources window directly onto the lookup control (the ComboBox).

    Les liaisons de recherche sont désormais établis.The lookup bindings are now established. Reportez-vous au tableau ci-dessous pour les propriétés spécifiques qui ont été définies sur le contrôle.Refer to the table below for the specific properties that were set on the control.

    PropriétéProperty Explication du paramètreExplanation of setting
    DataSourceDataSource Visual Studio définit cette propriété sur le BindingSource créé pour la table que vous avez fait glisser vers le contrôle (et non sur le BindingSource créé en même temps que le contrôle).Visual Studio sets this property to the BindingSource created for the table you drag onto the control (as opposed to the BindingSource created when the control was created).

    Si vous avez besoin de faire des réglages, définissez la BindingSource de la table contenant la colonne que vous souhaitez afficher.If you need to make an adjustment, then set this to the BindingSource of the table with the column you want to display.
    DisplayMemberDisplayMember Visual Studio définit cette propriété sur la première colonne après la clé principale contenant un type de données de chaîne pour la table que vous avez fait glisser vers le contrôle.Visual Studio sets this property to the first column after the primary key that has a string data type for the table you drag onto the control.

    Si vous avez besoin de faire des réglages, puis affectez la valeur le nom de colonne que vous souhaitez afficher.If you need to make an adjustment, then set this to the column name you want to display.
    ValueMemberValueMember Visual Studio définit cette propriété sur la première colonne participant à la clé principale, ou la première colonne de la table si aucune clé n'est définie.Visual Studio sets this property to the first column participating in the primary key, or the first column in the table if no key is defined.

    Si vous avez besoin de faire des réglages, définissez à la clé primaire dans la table avec la colonne que vous souhaitez afficher.If you need to make an adjustment, then set this to the primary key in the table with the column you want to display.
    SelectedValueSelectedValue Visual Studio définit cette propriété sur la colonne d’origine déplacée à partir de la des Sources de données fenêtre.Visual Studio sets this property to the original column dropped from the Data Sources window.

    Si vous avez besoin de faire des réglages, définissez à la colonne de clé étrangère dans la table associée.If you need to make an adjustment, then set this to the foreign-key column in the related table.

Voir aussiSee also