Bug Bizard avec un combobox [Résolu]

Signaler
Messages postés
30
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
15 avril 2008
-
Messages postés
30
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
15 avril 2008
-
Voila je doit remplir un combox avec des nombres qui représente des index de pages

lorsque qu'il y a peu de page sa fonctionne mais jai un bug lorsque jai 480 pages

voici le resultats de ma combo box apres remplissage

1
10
100
101
102
103
...
109
11
110
111
112
...
119
12
120

etc..

Brrr c'est mistique, sa s'incremente comme du binaire
pourtant regardez ma boucle For

 Dim count As Integer = VIDEOSINFOS.MaxPageIndex
 For i As Integer = 1 To count
            Form3.Cbx_Pages.Items.Add(i)
 Next

rien de plus normale

Et quand je fait un test dans un nouveau projet

for i as interger = 1 to 500
       combobox1.item.add(i)
next

sa marche impec

Alors une idée???

8 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Re,

Même avec la propriété Sorted à True et des chiffres en "strings" il y a moyen...et sans formatage ...
Il ferait mieux d'enlever cette propriété Sorted... Mais s'il la veut (et ce sera le cas, par exemple, si la même ComboBox sert à deux tâches, dont l'une nécessite cette propriété Sorted qui ne peut être définie qu'au stade de développement)

Mais il développe en quel langage ? (le sien me parait bizarre ... et son code ne risque pas de fonctionner sous VB6...===>>> il provoquerait nécessairement une erreur à l'exécution !...))
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
Passe la propriété Sorted de ton combo à false, ca vient certainement de là !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour;;

Plusieurs choses :

1) tu n'es pas sous VB6, car sous vb6
for i as interger = 1 to 500
       combobox1.item.add(i)
next
ne fonctionnerait pas (erreur de syntaxe dû à ce que j'ai mis en rouge) !

2) tu ne nous parles pas d'un "détail" d'importance, que l'on devine heureusement :
la propriété sorted de ta combobox (mise à True)

3) Une combobox reçoit des chaînes de caractères ...
Or
"10" est plus petit que "2" (en chaîne de caractères)
alors que 10 > 2 (en numérique)
Si tu veux faire ton tri, il te faut alors formater tes chaines de caractères avec des "0" devant...
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Salut,

Si je reprends ton code, je pense que cela pourrait fonctionner également:

for i as interger = 1 to 500
       combobox1.item.add(Format(i,"000"))
next
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour Nicko11,

Il y a une autre mérthode, sans rien formater du tout...
Mais je ne veux pas en parler (et n'en parlerai pas) tant que ne sera pas élucidé le point que j'ai soulevé dans ma toute première réponse (langage de développement utilisé)
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
C'est juste une question de tris !

Si tu classe tes données (en activant la propriete Sorted) les données vont etre trié par ordre alphabetique ! Par consequent 100 sera avant 11 car la comparaison ce fait sur les caracteres et pas sur les valeurs.


@+

E.B.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut et bonjour à tous,

Moi, je dirais que c'est .net....non PORTE_BLINDEE ?

Bref pour revenir à ton problème je pense que Jmfmarques à donner les réponses à ton problème, il te suffit de "creuser" un peu la tête pour comprendre...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
30
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
15 avril 2008

Houuuuu!! alors regardez l'heure du message : 04:05:46 !! j'était fatigué. et apres une journé non stope sur l'écran les yeux cramés jai posté un peu vite
Oui je suis en VB. Net
Oui jai essayer de convertir les int en string avant de les ajoutés .add()
Oui la combo box est sorted....mais c'est JUSTEMENT la qu'était le probleme!!!

[auteurdetail.aspx?ID=615490 jmfmarques] avais réson en enlevant sorted sa marche.... bizard bizard

merci pour votre aide