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

Calade 1212 Messages postés dimanche 20 avril 2003Date d'inscription 4 juin 2016 Dernière intervention - 19 nov. 2008 à 13:52 - Dernière réponse : Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention
- 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

lillith212 1231 Messages postés vendredi 16 novembre 2007Date d'inscription 16 juin 2009 Dernière intervention - 19 nov. 2008 à 14:57
+3
Utile
Valide en appuyant sur le bouton accepté...
Contente d'avoir pu t'aider

S.L.B.
<hr />
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de lillith212
Calade 1212 Messages postés dimanche 20 avril 2003Date d'inscription 4 juin 2016 Dernière intervention - 19 nov. 2008 à 14:08
0
Utile
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
lillith212 1231 Messages postés vendredi 16 novembre 2007Date d'inscription 16 juin 2009 Dernière intervention - 19 nov. 2008 à 14:08
0
Utile
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
Calade 1212 Messages postés dimanche 20 avril 2003Date d'inscription 4 juin 2016 Dernière intervention - 19 nov. 2008 à 14:52
0
Utile
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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 nov. 2008 à 15:34
0
Utile
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
lillith212 1231 Messages postés vendredi 16 novembre 2007Date d'inscription 16 juin 2009 Dernière intervention - 19 nov. 2008 à 15:38
0
Utile
@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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 nov. 2008 à 21:10
0
Utile
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.