Fonctionnement de plusieurs ComboBox initialisés avec la même variable tableau

Signaler
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013
-
cs_eldim
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
-
Bonjour,

J'ai un problème de compréhension :

J'ai trois combobox. A ces trois contrôles, j'affecte la même variable tableau dans la propriété DataSource par la commande suivante :
Dim tSélection() As String = {"Affectation", "Type document", "Emetteur", "Rien"}
.......
For I = 0 To 2
DirectCast(Me.Controls("TRV_LD_Sélection" & Trim(I)), ComboBox).DataSource = tSélection
DirectCast(Me.Controls("TRV_LD_Sélection" & Trim(I)), ComboBox).SelectedIndex = I
next
......

Les trois contrôles se retrouvent avec la même valeur sélectionnée.

Pour obtenir le bon fonctionnement, il faut que je code comme ceci :
Me.TRV_LD_Sélection0.DataSource = {"Affectation", "Type document", "Emetteur", "Rien"}
Me.TRV_LD_Sélection0).SelectedIndex = 0
Idem pour les contrôles 1 et 2

Pouvez-vous me donner l'explication de ce fonctionnement et la méthode pour utiliser une boucle de chargement et de sélection des valeurs affichées dans les contrôles ?

Merci d'avance.

RLAPT

3 réponses

Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
3
Bonjour,

Je ne comprends pas trop, voire pas du tout.

Pour passer à 3 combo la même valeur, valeur composé d'une ligne de 4 critères (si c'est ça) :

dim c(4) as string
dim i as integer
dim ligne as string = ""
c(1) = "critère un"
c(2) = "critère deux"
c(3) = "critère trois"
c(4) = "critère quatre"
for i = 1 to 4
ligne = ligne & c(i)
next i
combobox1.items.add(ligne)
combobox2.items.add(ligne)
combobox3.items.add(ligne)
'
Mais il faudra formater tes critères (gestion des chaînes), sinon il ne vont pas être alignée, et ceci avec une police de taille fixe genre "couRier new", soit :
'
dim sizeMax = x
for i = 1 to 4
ligne = ligne & c(i) & space(sizeMax - len(c(i)) )
next i
'
Si ce n'est pas ça, à préciser ?

Cordialement.

Joe.
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
bonjour,
DirectCast(Me.Controls("TRV_LD_Sélection" & Trim(I)), ComboBox).addRange(tSélection)

-- Y a autant de bugs dans un programme que de malles-façons dans une maison. Tout dépend de la taille --
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
oups items.addrange


-- Y a autant de bugs dans un programme que de malles-façons dans une maison. Tout dépend de la taille --