UTILISATION D'UN DATAGRIDVIEW AVEC UN COMBOBOX INDÉPENDANT
Chrysostome
Messages postés121Date d'inscriptionvendredi 17 octobre 2003StatutMembreDernière intervention14 octobre 2016
-
24 mars 2008 à 20:47
kongclamo
Messages postés5Date d'inscriptionmercredi 10 octobre 2007StatutMembreDernière intervention 6 octobre 2009
-
16 juin 2008 à 17:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
kongclamo
Messages postés5Date d'inscriptionmercredi 10 octobre 2007StatutMembreDernière intervention 6 octobre 2009 16 juin 2008 à 17:55
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és22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 11 avril 2008 à 04:38
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és22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 11 avril 2008 à 02:24
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és52Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention18 septembre 2012 10 avril 2008 à 14:57
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és35Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention10 avril 2008 10 avril 2008 à 14:34
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.
CrazyCow007
Messages postés52Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention18 septembre 2012 27 mars 2008 à 23:03
Exact, j'ai oublié de reposter un message mais c'est justement la solution que j'ai utilisée et elle marche très bien.
Merci beaucoup, cette source m'a bien aidé !
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 27 mars 2008 à 22:52
Je n'ai pas vu d'option dans VB 2008 Express pour exporter en VB 2005.
As-tu essayé de créer un nouveau projet en VB 2005, d'enlever le formulaire qui est mis par défaut pour ne pas qu'il y ait de conflit de nom, et d'ajouter le formulaire du démo. Il n'y a rien de spécifique à VB 2008 dans le source, ni dans les fichiers *.vb. Le fichier *.resx utilise Microsoft ResX Schema Version 2.0, mais j'ignore la version en VB 2005. Le problème semble provenir du fichier *.proj qui lui est créé par la version de VB.
Si cela ne fonctionne pas, laisse-moi savoir, je vais voir s'il y a une voie de contournement.
CrazyCow007
Messages postés52Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention18 septembre 2012 27 mars 2008 à 13:14
Idem. Je n'ai pas VB 2008. Dommage, la source semblait intéressante :/
N'y a-t-il pas un moyen pour exporter ton projet en VB 2005 ?
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 25 mars 2008 à 20:53
Pour que l'affichage des Combobox se positionne correctement, il faut additionner les valeurs de positionnement top et left du DataGridView, car la métrique retournée par le système du positionnement des cellules est relative au cadre du DataGridView, alors que le positionnement des Combobox est relative au cadre client du formulaire.
Chrysostome
Messages postés121Date d'inscriptionvendredi 17 octobre 2003StatutMembreDernière intervention14 octobre 2016 25 mars 2008 à 09:22
Je te remercie de t'être penché sur ce problème. C'est vrai que je n'utilise pas le VB 2008. Peut-être un bug qui sera corrigé plus tard!
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 25 mars 2008 à 05:04
Pour Microsoft.VisualBasic.Targets, selon ce que je comprend de http://msdn2.microsoft.com/en-us/library/ms164312.aspx, il s'agit d'un module qui est installé avec Visual Basic et en fait partie. Il est référé dans le fichier *.vbproj. Le source a été fait en VB 2008 ce qui pourrait expliquer le problème.
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 25 mars 2008 à 04:41
Pourrais-tu me dire à quelle étape tu as ce message, car j'ai vérifié et je ne trouve aucune référence à D:Microsoft.VisualBasic.Targets, ni ce fichier sur mon lecteur D:
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 25 mars 2008 à 04:40
Pourrais-tu me dire à quelle étape tu as ce message, car j'ai vérifié et je ne trouve aucune référence à D:Microsoft.VisualBasic.Targets, ni ce fichier sur mon lecteur D:
Chrysostome
Messages postés121Date d'inscriptionvendredi 17 octobre 2003StatutMembreDernière intervention14 octobre 2016 24 mars 2008 à 20:47
Désolé mais:
"Le projet importé D:Microsoft.VisualBasic.Targets est introuvable ..."
Si tu pouvais compléter ton post. Merci.
16 juin 2008 à 17:55
11 avril 2008 à 04:38
11 avril 2008 à 02:24
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é.
10 avril 2008 à 14:57
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+
10 avril 2008 à 14:34
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.
27 mars 2008 à 23:03
Merci beaucoup, cette source m'a bien aidé !
27 mars 2008 à 22:52
As-tu essayé de créer un nouveau projet en VB 2005, d'enlever le formulaire qui est mis par défaut pour ne pas qu'il y ait de conflit de nom, et d'ajouter le formulaire du démo. Il n'y a rien de spécifique à VB 2008 dans le source, ni dans les fichiers *.vb. Le fichier *.resx utilise Microsoft ResX Schema Version 2.0, mais j'ignore la version en VB 2005. Le problème semble provenir du fichier *.proj qui lui est créé par la version de VB.
Si cela ne fonctionne pas, laisse-moi savoir, je vais voir s'il y a une voie de contournement.
27 mars 2008 à 13:14
N'y a-t-il pas un moyen pour exporter ton projet en VB 2005 ?
25 mars 2008 à 20:53
25 mars 2008 à 09:22
25 mars 2008 à 05:04
Le seul cas que j'ai trouvé sur internet, est celui de http://groups.google.com/group/DotNetDevelopment/msg/719675ab54601ee6
25 mars 2008 à 04:41
25 mars 2008 à 04:40
24 mars 2008 à 20:47
"Le projet importé D:Microsoft.VisualBasic.Targets est introuvable ..."
Si tu pouvais compléter ton post. Merci.