Cochée programmatiquement le node d'un Treeview [Résolu]

Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Dernière intervention
4 juin 2016
- - Dernière réponse : Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 19 nov. 2008 à 21:10
Bonjour à tous,

   Sous Access 2002, j'utilise un contrôle Treeview possédant un certain nombre de noeuds parents constitués eux-mêmes d'enfants.

   Je me suis aperçu que si l'on coche par code le noeud d'un parent, cela n'est pas pris en compte au niveau de l'affichage (je voulais coché tous les enfants d'un coup si on cliquait sur son parent). J'ai fait un bout de code qui marche bien. Mais quid si je veux coché TOUS les noeuds du Treeview d'un coup en cliquant par exemple sur un bouton. Y aurait-il une autre manière que d'ajouter un noeud parent général ?

Merci de votre réponse.

Calade
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
1231
Date d'inscription
vendredi 16 novembre 2007
Dernière intervention
16 juin 2009
1
3
Merci
Valide en appuyant sur le bouton accepté...
Contente d'avoir pu t'aider

S.L.B.
<hr />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de lillith212
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Dernière intervention
4 juin 2016
9
0
Merci
Bonjour à tous,


   J'ai oublié de précise que faire un

Call Treeview_Nodecheck(MyNode) ne suffit pas à cocher ce noeud.

Merci de votre réponse.


Calade
Commenter la réponse de Calade
Messages postés
1231
Date d'inscription
vendredi 16 novembre 2007
Dernière intervention
16 juin 2009
1
0
Merci
Bonjour,


Sur l'événement click tu n'as qu'a parcourir ton treeview et cocher les cases qui ne sont pas cochées.
Tu n'as pas besoin d'ajouter un noeud parent...



Dim mNode As Node
Dim Node As Node

PrivateSub Command1_Click()
Dim i AsInteger
' Pour chaque noeud du treeview
ForEach Node In TreeView1.Nodes
    i = i + 1
   ' On verfie que le noeud est coché
    If TreeView1.Nodes.Item(i).Checked = false Then
         TreeView1.Nodes.Item(i).Checked = true
    EndIf



Next





End
Sub




J'ai pas testé...





S.L.B.
<hr />
Commenter la réponse de lillith212
Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Dernière intervention
4 juin 2016
9
0
Merci
Bonjour Lilith,

   REPONSE ACCEPTEE

   En fait cela marche nien, une erreur de logique de ma part m'avait fait croire le contraire.

Merci pour tout.

Calade
Commenter la réponse de Calade
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
0
Merci
ForEach Node In TreeView1.Nodes
i = i + 1
' On verfie que le noeud est coché
If TreeView1.Nodes.Item(i).Checked = false Then
TreeView1.Nodes.Item(i).Checked = true
EndIf

Next

... pourquoi iterer sur chaque Node, plutot que de faire une boucle pour i, allant de 1 à TreeView1.Nodes.Count ?


faire plutôt :

For Each Node In TreeView1.Nodes
' On verfie que le noeud est coché (allez savoir pourquoi !)
If Nodes.Checked = false Then
Node.Checked = true
End If
Next
Commenter la réponse de Renfield
Messages postés
1231
Date d'inscription
vendredi 16 novembre 2007
Dernière intervention
16 juin 2009
1
0
Merci
@Renfield :
Car j'aime la complication lol... Oui c'est plus direct en effet. J'ai utilisé i parce que j'ai adapté une exemple de code que j'ai developpé dans lequel j'avais besoin iterer chaque noeud.
Merci Renfield

S.L.B.
<hr />
Commenter la réponse de lillith212
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
0
Merci
no soucy
Commenter la réponse de Renfield

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.