Utilisation d'un datagridview avec un combobox indépendant

Soyez le premier à donner votre avis sur cette source.

Vue 23 079 fois - Téléchargée 3 464 fois

Description

L'utilisation d'un ComboBox dans un DataGridView produit des cas d'exceptions de données dont certaines sont aussi inexplicables qu'incontournables. L'exemple fournie dans le zip, permet de voir l'utilisation d'un ComboBox indépendant du DataGridView, qui s'affiche lorsque la cellule qui devrait être un ComboBox est sélectionnée. Ce qui présente une double avantage, d'abord, de réduire la largeur des colonnes nécessaire à l'affichage,et ensuite de pouvoir rendre la liste de sélection dépendante de la valeur d'une autre colonne, ce qui n'est pas possible avec ComboBox d'un DataGridView. Un exemple de ce fonctionnement est inclus dans le zip.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

kongclamo
Messages postés
5
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
6 octobre 2009
-
Merci pour ce code qui j'avoue me donne des idées dans le cadre d'un projet sur lequel je bosse actuellement.
cs_erdna
Messages postés
22
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
27 août 2010
-
Pour Combo_1 et Combo_2, il s'agit des noms des colonnes (qui doivent être suivis de .name) dans le DataGridView, le premier pour la colonne qui correspond au Combobox1 et le deuxième pour Combobox2. On pourrait aussi utiliser l'Index de la colonne ou un autre nom de colonne, mais c'est plus facile de s'y retrouver avec des noms qui rappelle les liens entre la colonne et le combobox.
cs_erdna
Messages postés
22
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
27 août 2010
-
CrazyCow007 a raison pour le bug, le système n'envoie pas de message comme quoi la souris est sorti du cadre du combobox ou s'il perd le focus. Il faut ajouter des instructions ailleurs pour le rendre invisible.

Le code est minimal et non optimisé, il faut entre autre modifier la liste du deuxième combobox si le choix dans le premier est modifié, et vérifier qu'il y a bien un changement de sélection, car après qu'un déroulement se soit produit, l'événement SelectedIndexChanged se déclenche même si le même élément est sélectionné.
CrazyCow007
Messages postés
52
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
18 septembre 2012
-
Oui, Combo_1 et Combo_2 font bien références aux combobox. Par contre le projet doit être recréé manuellement parce qu'il est impossible de le démarrer depuis le fichier SLN ou VBPROJ, mais c'est pas bien grave.

Sinon, j'ai trouvé un petit bug qui permet d'afficher simultanément les deux combo : on déroule un premier combo et on clique dans la case de l'autre colonne et la le 1er combo ne disparait pas ;)

A+
Kornebrume
Messages postés
37
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
10 avril 2008
-
Bonjour, j'ai modifié un peu le code pour le faire exécuter sous VB2005.

J'aurai une question pour toi : à quoi correspondent les objets Combo_1 et Combo_2. Font-ils référence aux combobox?

Merci à toi.

Cordialement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.