LTourist
Messages postés24Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention 8 février 2009
-
23 mars 2006 à 21:43
LTourist
Messages postés24Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention 8 février 2009
-
26 mars 2006 à 19:23
Salut,
J'ai besoin de créer un treeview, et pour cela, je dois savoir a chaque moment si un node existe deja ou pas. J'ai essayé la methode de Vb6, a savoir
Buffer = TreeExtr.Nodes(strPath).Text avec une gestion d'erreur mais l erreur se produit toujours, meme si le node existe. J'ai egalement essayé
If Not DbTree.Nodes.Find(Relative & "" & UCase(NodeElement(a)), True) Is Nothing Then...
Mais la encore ça ne fonctionne pas, ainsi que
If DbTree.Nodes.ContainsKey(Relative & "" & UCase(NodeElement(a))) = False Then...
Donc j'aimerais savoir comment faire pour savoir si un node existe deja a partir de sa clé ou pas. Le probleme comparé a VB6, c'est que j'ai plusieurs nodes identiques, avec la meme clé... Est ce normal?
LTourist
Messages postés24Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention 8 février 2009 26 mars 2006 à 19:23
Bon j'ai finit par trouvé, en modifiant une ancienne fonction que j'avais créer sous vb6. J'avais deja esesayé, mais ça ne fonctionnait pas car l'argument searchAllChildren etait a false, et donc il ne cherchait que dans les noeuds principaux. Pour ceux que ça interesse voici la fonction :
Public Function NodeExist(ByVal Tree As TreeView, ByVal Method As String, ByVal str As String) As Boolean
'Déclaration des variables
Dim Buffer As String
NodeExist = True
On Error GoTo NoNode
Select Case Method
Case "Path"
Buffer = Tree.Nodes.Find(str, True)(0).Text
Exit Function
Case "Index"
Buffer = Tree.Nodes(CInt(str)).Text
Exit Function
End Select
NoNode:
NodeExist = False
End Function
Tree est le TreeView dans lequel on doit chercher le noeud, Method, la methode de recherche("Path" via la clé, et "Index" par l'index), et str la chaine recherchée (mettre par exemple "6" si vous rechercher le noeud d'index 6 par la méthode index).
Voila la fonction est un peu basique, j'aurais pu faire des Enum et tout mais bon...: