Il y a deux (sinon plus) les moyens possibles:
On est d'ajouter un ensemble de données dactylographié à votre projet et créer manuellement un table avec les colonnes respectives. Ensuite, créez un code pour remplir cette table et ajoutez-le en tant que source de données à votre colonne à l'aide d'une BindingSource.
Vous pouvez également utiliser une source de données objet
déclarer une classe (par exemple MyDataClass
) qui contient les membres du public (doit être une lecture/écriture propriété IIRC. Si cela ne fonctionne pas, créer des variables membres du public) pour ID et valeur Déclarer une liste générique dans votre formulaire comme
private List<MyDataClass> m_dataSource = new List<MyDataClass>();
Cette liste sera utilisée comme source de données pour la colonne. Remplissez la liste avec une instance de MyDataClass
pour chaque valeur que vous souhaitez afficher dans la zone de liste déroulante. Puis créez une nouvelle source de données d'objet dans votre projet pour la classe MyDataClass
. J'utilise un VS2008 allemand, donc je ne connais pas les noms exacts des éléments du menu. Ce devrait être "Data> Show DataSources" et dans la fenêtre de l'outil de source de données: Ajouter une nouvelle source de données. Dans la boîte de dialogue suivante, sélectionnez "Objet" et sélectionnez la classe MyDataClass
.
Vous obtiendrez alors une nouvelle source de données qui contient des membres pour les propriétés déclarées ci-dessus. Ajoutez une BindingSource à votre formulaire et une instance de la source de données d'objet. Attribuez-le à BindingSource (afin que vous puissiez utiliser le concepteur pour sélectionner les champs, etc.). Affectez le BindingSource en tant que DataSource pour votre colonne et sélectionnez les propriétés ValueMember
et DataMember
en conséquence.
Puis, dans le code, après le chargement des données dans la liste générique, attribuer m_dataSource
à la propriété DataSource du BindingSource:
bindingSource.DataSource = m_dataSource;
S'il vous plaît me souviens que j'écris ceci de ma mémoire - il peut y avoir plus d'étapes impliquées, mais cela devrait fonctionner de manière similaire à ce que j'ai décrit.