Comment faire des combobox multicolonnes (un exemple qui marche)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 504 fois - Téléchargée 27 fois

Contenu du snippet

J'ai chercher sur pas mal de site sans trouver la réponse à ce problème. Je souhaitais faire une combobox avec plusieurs colonnes (visibles ou non visibles) dans laquelle j'insérait mes données, mais aussi une clé primaire (de type numérique ou alphanumérique) que je ne souhaitais pas voir apparaitre.
Pour cela une combobox a plusieurs colonnes était la solution, mais impossible de trouver un exemple ou une aide qui fonctionnait de A à Z.

Source / Exemple :


Dans un premier tems, il faut rajouter dans les références de vos sources l'objet Microsoft forms 2.0 combobox, car le combobox de base de visual studio ne gère pas le muliticolonne.

Ensuite, pour faire plusieurs colonne dans ce dernier, insérer les ligne de codes suivantes :

        MyCombo.AddItem("key11")
        MyCombo.set_Column(1, 0, "test12")
        MyCombo.set_Column(2, 0, "test13")

        MyCombo.AddItem("key21")
        MyCombo.set_Column(1, 1, "test22")
        MyCombo.set_Column(2, 1, "test23")

        MyCombo.AddItem("key31")
        MyCombo.set_Column(1, 2, "test32")
        MyCombo.set_Column(2, 2, "test33")

        ...

        MyCombo.AddItem("keyx1")
        MyCombo.set_Column(1, 3, "testx2")
        MyCombo.set_Column(2, 3, "testx3")

Pour récupérer la clé de l'élément sélectionner dans votre combo utiliser le code suivant :

MsgBox(MyCombo.get_Column(0, MyCombo.get_ListIndex()) )

Pour que votre clé n'apparaissent pas, regarder dans les propriétés de l'objet, vous devez mettre un truc dans le genre :

ColumnCount = 3
ColumnWidths = 0pt;100pt;100pt

Ensuite fait mumuse avec le reste des propriétés pour personnaliser votre combo

Conclusion :


Voila, j'espère que ça vous aidera, c'est tout con comme truc, mais quand on sait pas on chercher un bon moment.

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
mardi 10 juin 2008
Statut
Membre
Dernière intervention
19 janvier 2010

svp
comment je px enregistrer les données d combobox multicolone
et meme les recherchées
merci
Messages postés
1
Date d'inscription
mardi 29 septembre 2009
Statut
Membre
Dernière intervention
4 novembre 2009

Ton exemple est génial, mais moi je cherche un exemple pareil mais qui génère les lignes au fure et à mesure apres la saisie dans la ligne precedente. Donc apres vailidation sur la ligne precedente la suivante se crée automatiquement.
Messages postés
371
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
17 juin 2013

J'ai pas essayé de déployer avec Microsoft Forms 2 sur des postes dépourvu d'office, mais l'information est intéréssante au plus au point, je n'utiliserai plus cela, tant pis je m'en passais avant, je m'en passerai après...

Merci pour l'info Ouneufe

Bonne prog a tous.
Messages postés
60
Date d'inscription
mardi 4 septembre 2001
Statut
Membre
Dernière intervention
19 janvier 2009

j'utilisais ce contrôle avec beaucoup de satisfaction jusqu'au moment il m'a fallu déployer mon appli. Là, c'est le drame, car microsoft forms 2 ne fonctionne pas sur les systèmes dépourvus de Microsoft Office...
Messages postés
27
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
2 février 2006

Salut,

ce problème vient des DLL que tu utilises, c'est un problème assez récurrent.

En effet, le fait de ne pas utiliser les composants .NET pose parfois des problèmes.

Le plus propre (maintenant que je sais le faire je peux l'expliquer), est de surcharger la classe combobox.net en utilisant le tag pour y stocker un tableau des infos dont on a besoin.

Je te conseil cette voix en matière de propreté, maintenant si tu souhaite encore utiliser mon exemple, voila un lien ou tu trouveras les DLLs que j'utilise.

http://piwy.plop.free.fr/bin.zip

Supprime de tes références tout les AXMS.... et ré-insère ces DLL.

En espérant que cela t'aidera.
Afficher les 19 commentaires

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.