begin process at 2008 08 22 04:09:15
1 229 771 membres
42 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : VB.Net Remplir un Tableau à partir d'un Combobox [ Divers / Débutants ] (MagDix)

VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 18:43:42

MagDix

Salut...

Je cherche un moyen pour remplir un tableau à partir d'un Combobox

J'essais un truc du genre dans une boucle
     Dim Tableau as String ()
            Dim i As Integer = 0
            For i = 0 To Combobox.Items.Count - 1
                cbxCopie.Items.Add(Combobox.GetItemText(Combobox.Items.Item(i)))
                If i = 0 Then
                    ReDim Tableau(i)
                Else
                    ReDim Preserve Tableau(i)
                End If
                Tableau = Combobox.Items.Item(i)
            Next

Mais ca génère un erreur...

Comment on fait pour mettre mon combobox dans un Tableau

Merci de votre aide


Re : VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 19:10:40

Megafan
Réponse acceptée !
Salut,
Essaye plutot Tableau(i)=Combobox.Items.Item(i)
@+
Megafan

Re : VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 19:13:52

Megafan
de plus ton if i=0 jusqu'au end if
ca sert pas a grand chose
avant ton for, dimensionne ton tableau genre redim tableau (combobox.items.count -1)
@+
Megafan

Re : VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 19:27:16

MagDix
Réponse acceptée !

Salut

C'est vrai j'avais oublié le (i) dans Tableau(i)
Mais j'ai encore un bug

Dans mon tableau les ligne qui s'ajoute valent "System.Data.DataRowView"
il ne va;ent pas le texte que j'ai dans mon Combobox ????

Tu vois pourquoi ca fais ça???


Re : VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 19:31:09

MagDix

OK j'ai trouvé

Tableau(i) = Combobox.GetItemText(Combobox.Items.Item(i))


merci de ton aide


Re : VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 19:48:21
Re : VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 22:29:00

Kevin.Ory
Salut,
Pfou, vous faites ça compliqué

Si les items dans ta ComboBox sont des Strings :

    Dim Tableau(-1) As String
    Combobox.Items.CopyTo(tab, 0)

Ou si ce n'est pas des Strings :

    Dim Tableau(Combobox.Items.Count - 1) As String
    For each Item As TrucChose In Combobox.Items
        Tableau(i) = Item.ToString
    Next


Et voilà...


Re : VB.Net Remplir un Tableau à partir d'un Combobox le 03/06/2008 23:23:26

Charles Racaud
Membre Club
Kevin.Ory, je pense que tu as codé un oeu trop vite
Dim Tableau(-1) As String 
D'ou sort ce -1 ?


    For each Item As TrucChose In Combobox.Items
        Tableau(i) = Item.ToString
    Next

Si tu ne définis pas i et si tu ne l'incrémente pas, ca ne va pas faire le résultat attendu.

__________
  Kenji


Re : VB.Net Remplir un Tableau à partir d'un Combobox le 04/06/2008 00:02:48

Kevin.Ory
Dim Tableau(-1) As String déclare un tableau de longueur 0
Hé oui, il faut le savoir... j'avais bien trimé pour trouver ça à l'époque

Par contre, effectivement ça ne fonctionne pas mon code Pourtant
je suis sûr que ça fonctionne dans un cas semblable, lorsque on ne peut pas connaitre le nombre d'éléments avant d'avoir le tableau, mais je ne sais plus quoi (appels d'API je pense).
Donc il faut effectivement déclarer le tableau à la bonne taille, le code devient donc:

    Dim Tableau(Combobox.Items.Count - 1) As String
    Combobox.Items.CopyTo(tab, 0)

Et pour la deuxième remarque, tu as tout à fait raison, je devrais mieux relire mon code avant de poster
J'avais d'abord fais avec une incrémentation de i, puis j'ai mal cru que je pouvais simplifier avec un For Each. Donc voici le code avec l'incrémentation de i:

    Dim Tableau(Combobox.Items.Count - 1) As String
    For i As Integer = 0 To Combobox.Items.Count - 1
        Tableau(i) =
Combobox.Items(i).ToString
    Next


Dsl, et merci de m'avoir repris Charles



Classé sous : combobox, partir, tableau, remplir, items

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS