C# datagridview zone de liste déroulante de la colonne de la source de données de la liste/dictionnaire/datatable

J'ai une table et une colonne est un entier IDENTIFIANT de clé étrangère d'une autre table de base de données.

J'ai un datagridview et je voudrais utiliser une zone de liste déroulante de la colonne pour permettre à l'utilisateur de changer la valeur. Mais au lieu d'utiliser les nombres entiers, il serait bon d'utiliser les noms.

J'ai essayé de créer un simple struct avec des membres du public int ID et le Nom de la chaîne; un dictionnaire et le regarda dans les énumérations (cependant les valeurs ne sont pas connues au moment de la compilation), mais pas eu quelque chose à travailler encore.

J'ai été en mesure de remplir la zone de liste déroulante avec les valeurs struct, mais pas en mesure de définir par programmation le point de menu sélectionné/index; c'est à dire, si l'ID "5" est dans la table de données, définissez la zone de liste modifiable est sélectionné pour la structure qui a un ID de 5.

Donc, pour être clair, je suis désireux:

gridview datasource's fk ID's 
1
2
3

Foreign Key table:

ID   Name 
1    Name 1
2    Name 2
3    Name 3

Datagridviewcombobox colonne devrait être chargé avec trois éléments; doit s'afficher en tant que "Nom 1, Nom 2, Nom 3". Basé sur le contrôle gridview source de données de la FK, l'id de l'élément sélectionné pour chaque couleur.

OriginalL'auteur andrew | 2011-10-31