List

mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009 - 30 oct. 2007 à 19:22
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 31 oct. 2007 à 22:37
Bonsoir à tous !!

J'ai une liste générique List(Of LigneCommande) et a chaque  fois que je fais un add il me met la valeur dans toutes les item .

Quelqu'un à un solution à mon problème.

Merci d'avance c urgent !!!!!

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
30 oct. 2007 à 20:36
Salut

Sympa comme message comment resoudre ton probleme avec si peut de données.

Bon voici la solution
c'est une base de la programmation objet

        Dim l As New List(Of LigneDeCommande)
        Dim c As New LigneDeCommande
        c.Numero = "1"
        l.Add(c)
        ' c = New LigneDeCommande
        c.Numero = "2"
        l.Add(c)

Dans ce cas j'ai 2 fois le nuimero deux dans la collection
Si j'enleve le commentaire j'ai 1 et 2 dans la collection

Pourquoi
1 --> c'est le meme objet qui est ajoute deux fois
2--> c'est deux objets différents car il y a eu un appel de constructeur (new)

Voila esperant avoir ete clair
0
mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009
31 oct. 2007 à 08:51
merci beaucoup de ton aide !!!!

J'ai un autre soucis. Dans une liste j'ai plusieurs item. et dans chaque item j'ai des champs
list
item(0)
nom
prenom
item(1)
nom
prenom
item(2)
nom
prenom

Comment je pourrais faire pour récupérer le champ nom de chaque item.

merci d'avance !!!
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
31 oct. 2007 à 09:13
Salut

Comme tu utiles les listes génériques c'est pas trop compliqué

list(i).numero
ou
list.items(i).numero
ou
dim c as LigneDeCommande
c=list.items(i)
messagebox;show(c.numero)

Tu n'as pas besoin de cast car ta liste est generique.

Je ne vois pas ou tu bloques, la liste est accessible par index.
sinon par enumaration.

foreach c as ligneCommde in maliste
messagebox.show c.Numero
next

Bon courage
0
mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009
31 oct. 2007 à 10:11
oui
Comment faire pour parcourrir tous mes items et vérifier si le champ nom toto. Si nom toto alors nom = titi !!
merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
31 oct. 2007 à 22:37
Salut

foreach lc as lignedecommande in l
if lc.nom = "TOTO" then
lc.nom= "TITI"
end if

C'est enfantin, il faut que tu cherches un peu car c'est de albase de programmation
0
Rejoignez-nous