Combobox multi-colonne...Quelle complication! [Résolu]

Messages postés
177
Date d'inscription
vendredi 3 novembre 2000
Dernière intervention
16 octobre 2012
- 20 mai 2010 à 15:36 - Dernière réponse :  Steeve7
- 18 mars 2015 à 03:16
Bonjour à tous!

Et merci à l'avance de votre aide toujours si précieuse....

Pour une fille qui s'est mis à VB.net il y a moins d'un an(programmeure de Visual Basic pendant 10 ans), je dois avouer que je suis bien découragée de la question des combobox multi-colonnes...

1ere : il ne semble pas exister de combobox multi-colonnes avec les contrôles de bases de VB.net. J'ai dû ajouter le AxComboBox qui lui le permet.

2eme : Je ne trouve pas de façon d'agrandir la largeur de ma liste quand on l'ouvre de la même façon que Access le fait si bien...En résumé, la largeur de la liste est initialement de 100 et je veux que quand on l'ouvre, on puisse voir les 7 colonnes, que cette largeur passe à 800. Quand on la referme, elle devrait revenir à 100....

Pourquoi c'est si compliqué? Je m'y prend mal? Et s.v.p. ne me dites pas d'utiliser le combobox de base et de concaténer mes champs dans la requête(champ1 + ' ' +champ2), je veux que les colonnes soient délimités également et séparées par des barres...


Merci beaucoup!

 Maroxye
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
- 22 mai 2010 à 14:17
3
Merci
Bonsoir,
A mon avis, il doit être possible de fabriquer ton propre contrôle.
Tu ajoute un UserControl a ton projet, dessus tu place un combobox traditionnel (qui ne contiendra rien) ainsi qu'une ListBox multicolones juste en dessous et avec sa propriété Visible a false.
Dans l'événement Clic du combobox tu fais apparaître ta ListBox (cet effet imitera une combobox multicolones).
Ceci reste une idée en tout cas.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
- 22 mai 2010 à 16:49
3
Merci
En effet il est très facile en .Net de créer des contrôles perso, en passant par le GDI on peut redessiner entièrement (ou presque) un contrôle comme un ListView, ComboBox, ListBox etc... et le faire hérité des propriété du contrôle de base.

Le problème c'est que la, Maroxye débute en .Net, ce n'est donc pas la solution.

Je pense qu'il faut que tu te serves d'autres contrôles, il faut que tu revois le design de ton formulaire pou procéder autrement (Exemple: pour une ligne avec ID, Nom, Prénom, Age dans ta base, tu peu décider de n'afficher que le nom dans le combo, et lors de la sélection dans celui-ci afficher les infos ailleurs, comme dans des labels par exemple).

La programmation Winform est très diférente de VBA comme tu peux t'en rendre compte.

Je te conseille de ne jamais passer par des Ax(sauf en cas d'extrême nécessité), et de n'utiliser toujours que des contrôles .Net cela facilite grandement le déploiement des application.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de Mayzz
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 20 mai 2010 à 18:55
0
Merci
Salut

Désolé pour .Net, j'ai moi aussi des galères avec dès que je tente qqchose, je passe mon temps dans l'aide pas toujours très directe et le boulot n'avance pas.

Bref, il semble que les ComboBox .Net ne supportent pas le colonnage tout comme celle de VB6 d'ailleurs, il n'y a que les "zones de liste modifiables" de Forms2 du VBA qui le propose.

Pour ce qui est de la liste proposée lors d'un DropDown, tu peux modifier la taille de la DropDownList avec les propriétés DropDownWidth et DropDownHeight

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
177
Date d'inscription
vendredi 3 novembre 2000
Dernière intervention
16 octobre 2012
- 20 mai 2010 à 21:11
0
Merci
Merci de ta réponse,

Mais les propriétés dropdownwidth et dropdownheight ne sont pas disponibles avec le AxComboBox...Quelqu'un a une autre idée?

 Maroxye
Commenter la réponse de cs_Maroxye
Messages postés
177
Date d'inscription
vendredi 3 novembre 2000
Dernière intervention
16 octobre 2012
- 22 mai 2010 à 19:23
0
Merci
Merci à banana etr Mayzz,

Je vais essayer tout ce que vous avez dit...Je comprend qu'à date, je n'ai vu que les problèmes que le .net m'apportait sans en voir encore les bénéfices...Question d'habitude vous me direz....Mayzz, un simple ajout à ce que tu dis : je veux que les colonnes soient montrées dans la liste avant que l'utilisateur porte son choix sur une ligne, c'est obligatoire...Ensuite, je vais effectivement montrer les colonnes qu'il a choisi dans des labels mais seulement après....


En tout cas, merci!

 Maroxye
Commenter la réponse de cs_Maroxye
Messages postés
22
Date d'inscription
lundi 19 juin 2006
Dernière intervention
27 août 2010
- 7 juil. 2010 à 05:53
Commenter la réponse de cs_erdna
Messages postés
22
Date d'inscription
lundi 19 juin 2006
Dernière intervention
27 août 2010
- 7 juil. 2010 à 09:39
0
Merci
Pour ne pas utiliser un Activex, comme c'est la cas dans la source précédente, la meilleure source que j'ai trouvé jusqu'à maintenant est à: http://www.codeproject.com/KB/architecture/MultiColumnFlatCombo.aspx
Commenter la réponse de cs_erdna
0
Merci
bonjour voici une réponse à votre fameuse question mais cela risque de décourager les amateurs de vb.net c'est le lien d'un tuto :
http://olsimare.developpez.com/articles/vbnet/combobox/multicolumncombobox/
Commenter la réponse de Steeve7

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.