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 recherche en faisant glisser le nœud principal d’une table parent (à partir de la fenêtre Sources de données) sur un contrôle de votre formulaire qui est 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, considérez une table de 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 un CustomerID, indiquant le client ayant 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 table dans le des Sources de données fenêtre et la valeur est le 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. Ensuite, définissez le 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 lier un contrôle de rechercheTo databind a lookup control

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

    Note

    Les tables de recherche nécessitent que les 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 relations dans les datasets.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 connexe 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 développable 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. Recherchez le nœud qui lie les deux tables (le CustomerID nœud dans l’exemple précédent).Locate the node that relates the two tables (the CustomerID node in the previous example). Modifiez son type de déplacement à un ComboBox en sélectionnant ComboBox à partir de la liste de contrôle.Change its drop type to a ComboBox by selecting ComboBox from the control list.

  5. Faites glisser le nœud de la table enfant principale à 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.

    Supprimer des contrôles liés aux données (avec des étiquettes descriptives) et un outil (BindingNavigator) apparaissent sur le formulaire.Databound controls (with descriptive labels) and a tool strip (BindingNavigator) appear on the form. Un 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 recherche (le 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. Consultez le tableau suivant pour les propriétés spécifiques qui ont été définies sur le contrôle.Refer to the following table 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 faites glisser sur le contrôle (par opposition à la BindingSource, créé lorsque le contrôle a été créé).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 ce paramètre sur le BindingSource de la table contenant la colonne que vous souhaitez afficher.If you need to make an adjustment, 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, affectez-lui le nom de colonne que vous souhaitez afficher.If you need to make an adjustment, 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, affectez la valeur de la clé primaire dans la table avec la colonne que vous souhaitez afficher.If you need to make an adjustment, 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 est supprimée 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, affectez la valeur de la colonne de clé étrangère dans la table associée.If you need to make an adjustment, set this to the foreign-key column in the related table.

Voir aussiSee also