dodo1309
Messages postés218Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention30 mai 2011
-
27 déc. 2006 à 13:39
dodo1309
Messages postés218Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention30 mai 2011
-
27 déc. 2006 à 14:56
bonjour
Voila je dois comparer le contenu de 2 listview et si l'une des deux contient le meme item que l'autre il faut le surpprimé .
j'ai fais ceci mais je ne comprend pas pourqoui rien ne se supprime quand il y a les meme items :s
Ce sont deux listview sur 2 form différentes
Private Sub Form_Load()
For i = 1 To frmgestio.lvw.ListItems.Count
For j = lvw.ListItems.Count To 1 Step -1
If frmgestio.lvw.ListItems.Item(i)= lvw.ListItems.Item(j) Then lvw.ListItems.Remove (j)
Next
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 27 déc. 2006 à 14:51
Bah justement, dans le Form_Load, tu charge tes composants => ta listview est forcément vide.
Si tu appelle une procédure pour la remplir, elle ne le sera qu'après la sub Form_Load !
Essaye ceci, et tu verra vite que ta listview est vide lorsque tu veux la supprimer :
Private Sub Form_Load()
MsgBox lvw.ListItems.Count
end sub
DavidWhitewater
Messages postés81Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention 1 janvier 2010 27 déc. 2006 à 14:44
Salut, je suis plutôt sous VB2005 alors pas sûr que mes remarques soit valables.
Tu test :
If frmgestio.lvw.ListItems.Item(i)= lvw.ListItems.Item(j)
Hors l'opérateur '=' n'est pas définit pour des ListViewItems, il faudrait utiliser 'Is'. Mais dans ce cas là il faut être sûr que toutes les propriétées des Items soit identique.
Essaye plutôt :
If frmgestio.lvw.ListItems.Item(i).ToString = lvw.ListItems.Item(j).ToString