Comment avoir l'évènement clic d'un noeud de treeview? [Résolu]

Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 26 juil. 2007 à 16:13 - Dernière réponse : Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention
- 1 août 2007 à 16:57
Bonjour à Tous,
Quelqu'un peut-il m'aider!Je remplis mon treeview avec les données qui viennent des tables sqlserver en différents nodes,exemple
Dexia
     ---FR
     ---EN
     ---GER
Fortis
     ---FR
     ---EN
     ---GER
              ---Allemagne
             ----Berlin
Je veux avoir le résultat dans ma listbox en cliquant sur FR sous Dexia,ou n'importe quel noeud de treeview.
Bien à vous.
Afficher la suite 

Votre réponse

14 réponses

Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 1 août 2007 à 06:39
+3
Utile
tu veux le texte du noeud que tu as cliqué ?
ou le texte du 'grand-père' ?

partant d'un noeud, tu peux avoir tous les noeuds qui lui sont relatifs...
http://msdn2.microsoft.com/en-us/library/system.windows.forms.treenode.parent(VS.80).aspx

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 26 juil. 2007 à 16:21
0
Utile
encore une question qui trouve sa réponse dans la Doc...
(que personne ne lit ?)

http://msdn2.microsoft.com/en-us/library/system.windows.forms.treeview_members(VS.71).aspx

TreeView Members
Public Events:
BeforeSelect => Occurs before the tree node is selected.
AfterSelect => Occurs after the tree node is selected.
Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 26 juil. 2007 à 16:23
0
Utile
après, si tu es en 2005, tu as même :

NodeMouseClick => Occurs when the user clicks a TreeNode with the mouse.

mais je pense qu'il vaudrais mieux que tu utilises AfterSelect...
(parce que si tu utilises BeforeSelect et que ton traitement est long, ca va donner l'impression de ramer : l'item ne sera visuellement séléctionné qu'a al fin de ton traitement)
Commenter la réponse de Renfield
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 26 juil. 2007 à 16:44
0
Utile
J'ai essayé ça ne répond pas à mon bésoin,en fait,j'ai déjà un treeview que j'ai rempli avec une requête sql,en récuperant le nom du noeud parent que je passe à ma requête comme paramétre ainsi je peux avoir la clé primaire du noeud root mais le problème se pose au niveau des noeuds enfants,comment avoir l'évènement clic de chaque noeud enfant?
Bien à vous.
Commenter la réponse de Musau
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 26 juil. 2007 à 16:48
0
Utile
Voici le bout de code qui me permet de sélectionner un noeud:
 

Private
Sub TreeView1_NodeMouseClick(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.TreeNodeMouseClickEventArgs)
Handles TreeView1.NodeMouseClick

Dim Node
As TreeNode

Dim ind
As
IntegerNode = TreeView1.GetNodeAt(

New System.Drawing.Point(e.X, e.Y))

If e.Button = Windows.Forms.MouseButtons.Left
ThenTreeView1.SelectedNode = Node

End if
End
Sub
Commenter la réponse de Musau
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 26 juil. 2007 à 17:02
0
Utile
NodeMouseClick

a pourtant un nom très très evocateur, non ?

en quoi
TreeView1.SelectedNode = Node

est-elle une action de la souris ?
Commenter la réponse de Renfield
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 26 juil. 2007 à 23:54
0
Utile
Je remplis mon treeview avec les données qui viennent de mes tables,si je clic sur un noeud parent,je récupère le nom et je le passe comme paramétre dans la réquête pour avoir sa clé primaire et ainsi faire d'autres manipulations.
J'aimerais clic cette fois ci sur un noeud enfant et avoir sa clé primaire.Chaque fois que je clic sur noeud il met dans ma variable le contenu du noeud sélectionné et ça fausse le résultat.
Quelqu'un a-t-il une solution svp?
123
    ---1
    --- 2
   ----3
           -----1
           -----2
321
   ----1
   -----2
Commenter la réponse de Musau
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 26 juil. 2007 à 23:56
0
Utile
tu peux acceder a tous les noeuds, selectionnés ou non ...

ou se trouve cette clé primaire ? faut il passer par le noeud parent ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 27 juil. 2007 à 08:23
0
Utile
Chaque noeud correspond à une colonne de mes tables,et en sélectionnant  le noeud,j'ai le contenu text du noeud que je passe comme paramétre à ma réquête pour rétrouver la clé primaire dans la table.J'aimerai ainsi pour chaque sélection d'un noeud.Comment faire ça?Si vous avez un exemple ça sera plus facile pour moi.
Bien à vous.
Commenter la réponse de Musau
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 27 juil. 2007 à 14:33
0
Utile
t'as pas un peu finit de poster ton message encore et encore ?

tout ton code précedent peut se résumer en :

Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
If e.Button = Windows.Forms.MouseButtons.Left Then
TreeView1.SelectedNode = e.Node
End If
End Sub

pour ta question, manipules tout simplement
e.Node pour faire ta requete...

si chaque noeud est une colonne, reste a trouver le noeud qui correspond a la clé primaire...
quel est ce noeud par rapport au noeud selectionné ? le noeud père ? un des noeuds "frêres" (de même niveau) ?


réponds aux questions que l'on te pose, pour tenter de résoudre ton soucis, c'est bien plus utile que de reposter encore et toujours le même blabla.
Commenter la réponse de Renfield
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 27 juil. 2007 à 15:40
0
Utile
Merci quand même d'avoir répondu,j'avais déjà trouvé la solution.Si on écrit le message sur ce forum,c'est parceque nous avons un problème.Il n'appartient pas à un individu de dire n'importe quoi sur ce message,si tu ne veux pas répondre ne le fais pas,personne ne t'oblige de le faire.
a+
Commenter la réponse de Musau
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 31 juil. 2007 à 09:31
0
Utile
J'ai un noeud parent,puis deux noeuds frères et chaque noeud frère a des fils aussi.J'aimerais cliquer sur un noeud fils d'un de frères par exmple et avoir son text.Tout comme je pourrais cliquer sur un des frères ou parent pour avoir leur contenu.Comment faire en vb.net svp?
Bien à vous.
Commenter la réponse de Musau
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 1 août 2007 à 10:02
0
Utile
Merci ça marche,j'ai du modifier juste un truc et ça va.Merci infinement!!!!!
Commenter la réponse de Musau
Musau 18 Messages postés mercredi 11 décembre 2002Date d'inscription 3 octobre 2007 Dernière intervention - 1 août 2007 à 16:57
0
Utile
Je réviens encore car il me manque un pétit pas pour arriver au bout de mon treeview.Jusque là,quand je clique sur un noeud parent puis sur le fils,je stocke les textes du parent et celui de child dans mes variables.Quand je clic sur le pétit fils,je perd le text de son grand parent que j'avais dans ma variable,et je réçois le text de son père dans la variable où j'avais stocké le text du grand parent,et la variable du pétit fils prend la place de son père.Pouvez m'aider svp?
Bien à vous.
Commenter la réponse de Musau

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.