Supprimer les elements coché d'un treeview

Résolu
cs_jeremyi Messages postés 17 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 11 novembre 2007 - 20 mai 2007 à 17:24
cs_jeremyi Messages postés 17 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 11 novembre 2007 - 20 mai 2007 à 17:44
Bonjour,

Je souhaite supprimer dans un contrôle treeview, les éléments qui ont été cochés.
Voici donc le code que j'avais mis :

For i = 1 To Treeview1.Nodes.Count
  If Treeview1.Nodes.Item(i).Checked = True Then
     Treeview1.Nodes.Remove i
  End If
Next

Mais je reçois le message d'erreur : "erreur d'execution 35600 : index hors limite", ce qui est normal puisque à la suppression d'un élément coché, la valeur Count change.
Comment puis-je donc faire ?

Merci

2 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
20 mai 2007 à 17:37
Peut-etre comme ceci :

For i = Treeview1.Nodes.Count To 1 Step -1
  If Treeview1.Nodes.Item(i).Checked = True Then
     Treeview1.Nodes.Remove i
  End If
Next

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
cs_jeremyi Messages postés 17 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 11 novembre 2007
20 mai 2007 à 17:44
Parfait, merci !

Ceci dit, sachant qu'il peut y avoir un grand nombre d'elements dans le treeview, n'existerait-il pas un moyen autre que l'utilisation d'une boucle ?

Si non, je m'en contenterais :)

Ah oui, tant que j'y suis, y a t-il moyen d'afficher un checkbox uniquement aux arbres parents ?

merci !
0
Rejoignez-nous