Bonjour,
je suis en train de m'arracher les cheveux avec le controle Treeview (VB
2005). Voila mon problème :
J'ai créé par code une série de noeuds parents. Chacun de ces noeuds
possède un ou plusieurs sous-noeuds. Bien. Lors de la création des
noeuds, j'ai utilisé la formule treeview.Nodes.Add(sKey, sName) pour
pouvoir attribuer à chacun une clé (à ce propos, il y a quelque chose
que je n'ai pas compris : on peut créer une clé pour chaque noeud, mais
il n'existe aucune propriété "Key" pour y faire référence !!).
Maintenant, comment faire pour ajouter des noeuds enfants à un des
sous-noeuds existant. J'ai essayé :
treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName)
mais une erreur me signale : "NullReference Exception ! La référence
d'objet n'est pas définie à une instance d'un objet."
Effectivement treeview.Nodes(sKey) vaut Nothing. Oui, mais pourquoi ?
Autrement dit, comment ajouter des noeuds à partir d'un noeud/sous-noeud
existant précis, sans le sélectionner ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Cyril P.
bonjour,
Si sKey est la clé d'un des noeuds de premier niveau dans ton arbre alors treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName) va fonctionner. Par contre, si c'est la clé d'un sous-noeud, c'est à dire d'un noeud de second niveau, tu dois y accéder en respectant ta hierarchie de noeuds. Tu dois donc connaitre la clé du noeud de premier niveau (et par conséquent l'ensmeble du chemin d'accès) pour ajouter un sous-noeud. Exemple avec l'ajout d'un noeud de troisieme niveau : treeview.Nodes(sKey1).Nodes(sKey2).Nodes.Add(sNewKey, sNewName). Il est donc necessaire de connaître ton arborescence et de retrouver le chemin tout seul pour ajouter un noeud de cette manière, ou de se servir des fonctions de recherche du treeview pour retrouver le noeud cible de l'ajout (bon, moi aussi j'éspère être clair, c'est pas évident à éxpliquer hein :)).
Bonjour, je suis en train de m'arracher les cheveux avec le controle Treeview (VB 2005). Voila mon problème : J'ai créé par code une série de noeuds parents. Chacun de ces noeuds possède un ou plusieurs sous-noeuds. Bien. Lors de la création des noeuds, j'ai utilisé la formule treeview.Nodes.Add(sKey, sName) pour pouvoir attribuer à chacun une clé (à ce propos, il y a quelque chose que je n'ai pas compris : on peut créer une clé pour chaque noeud, mais il n'existe aucune propriété "Key" pour y faire référence !!).
Maintenant, comment faire pour ajouter des noeuds enfants à un des sous-noeuds existant. J'ai essayé :
treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName)
mais une erreur me signale : "NullReference Exception ! La référence d'objet n'est pas définie à une instance d'un objet."
Effectivement treeview.Nodes(sKey) vaut Nothing. Oui, mais pourquoi ? Autrement dit, comment ajouter des noeuds à partir d'un noeud/sous-noeud existant précis, sans le sélectionner ?
J'espère avoir été clair. Merci de votre aide.
Jacques
bonjour,
Si sKey est la clé d'un des noeuds de premier niveau dans ton arbre alors
treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName) va fonctionner. Par contre,
si c'est la clé d'un sous-noeud, c'est à dire d'un noeud de second niveau, tu
dois y accéder en respectant ta hierarchie de noeuds. Tu dois donc connaitre
la clé du noeud de premier niveau (et par conséquent l'ensmeble du chemin
d'accès) pour ajouter un sous-noeud. Exemple avec l'ajout d'un noeud de
troisieme niveau :
treeview.Nodes(sKey1).Nodes(sKey2).Nodes.Add(sNewKey, sNewName).
Il est donc necessaire de connaître ton arborescence et de retrouver le
chemin tout seul pour ajouter un noeud de cette manière, ou de se servir des
fonctions de recherche du treeview pour retrouver le noeud cible de l'ajout
(bon, moi aussi j'éspère être clair, c'est pas évident à éxpliquer hein :)).
Bonjour,
je suis en train de m'arracher les cheveux avec le controle Treeview (VB
2005). Voila mon problème :
J'ai créé par code une série de noeuds parents. Chacun de ces noeuds
possède un ou plusieurs sous-noeuds. Bien. Lors de la création des
noeuds, j'ai utilisé la formule treeview.Nodes.Add(sKey, sName) pour
pouvoir attribuer à chacun une clé (à ce propos, il y a quelque chose
que je n'ai pas compris : on peut créer une clé pour chaque noeud, mais
il n'existe aucune propriété "Key" pour y faire référence !!).
Maintenant, comment faire pour ajouter des noeuds enfants à un des
sous-noeuds existant. J'ai essayé :
treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName)
mais une erreur me signale : "NullReference Exception ! La référence
d'objet n'est pas définie à une instance d'un objet."
Effectivement treeview.Nodes(sKey) vaut Nothing. Oui, mais pourquoi ?
Autrement dit, comment ajouter des noeuds à partir d'un noeud/sous-noeud
existant précis, sans le sélectionner ?
Si sKey est la clé d'un des noeuds de premier niveau dans ton arbre alors treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName) va fonctionner. Par contre, si c'est la clé d'un sous-noeud, c'est à dire d'un noeud de second niveau, tu dois y accéder en respectant ta hierarchie de noeuds. Tu dois donc connaitre la clé du noeud de premier niveau (et par conséquent l'ensmeble du chemin d'accès) pour ajouter un sous-noeud. Exemple avec l'ajout d'un noeud de troisieme niveau : treeview.Nodes(sKey1).Nodes(sKey2).Nodes.Add(sNewKey, sNewName). Il est donc necessaire de connaître ton arborescence et de retrouver le chemin tout seul pour ajouter un noeud de cette manière, ou de se servir des fonctions de recherche du treeview pour retrouver le noeud cible de l'ajout (bon, moi aussi j'éspère être clair, c'est pas évident à éxpliquer hein :)).
Bonjour, je suis en train de m'arracher les cheveux avec le controle Treeview (VB 2005). Voila mon problème : J'ai créé par code une série de noeuds parents. Chacun de ces noeuds possède un ou plusieurs sous-noeuds. Bien. Lors de la création des noeuds, j'ai utilisé la formule treeview.Nodes.Add(sKey, sName) pour pouvoir attribuer à chacun une clé (à ce propos, il y a quelque chose que je n'ai pas compris : on peut créer une clé pour chaque noeud, mais il n'existe aucune propriété "Key" pour y faire référence !!).
Maintenant, comment faire pour ajouter des noeuds enfants à un des sous-noeuds existant. J'ai essayé :
treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName)
mais une erreur me signale : "NullReference Exception ! La référence d'objet n'est pas définie à une instance d'un objet."
Effectivement treeview.Nodes(sKey) vaut Nothing. Oui, mais pourquoi ? Autrement dit, comment ajouter des noeuds à partir d'un noeud/sous-noeud existant précis, sans le sélectionner ?
J'espère avoir été clair. Merci de votre aide.
Jacques
Jack06
Ok.Pas de soucis, tes explications sont très claires, je vais tester. Merci de ton aide.
Jacques
Cyril P. a écrit :
bonjour,
Si sKey est la clé d'un des noeuds de premier niveau dans ton arbre alors treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName) va fonctionner. Par contre, si c'est la clé d'un sous-noeud, c'est à dire d'un noeud de second niveau, tu dois y accéder en respectant ta hierarchie de noeuds. Tu dois donc connaitre la clé du noeud de premier niveau (et par conséquent l'ensmeble du chemin d'accès) pour ajouter un sous-noeud. Exemple avec l'ajout d'un noeud de troisieme niveau : treeview.Nodes(sKey1).Nodes(sKey2).Nodes.Add(sNewKey, sNewName). Il est donc necessaire de connaître ton arborescence et de retrouver le chemin tout seul pour ajouter un noeud de cette manière, ou de se servir des fonctions de recherche du treeview pour retrouver le noeud cible de l'ajout (bon, moi aussi j'éspère être clair, c'est pas évident à éxpliquer hein :)).
Bon courage, Cordialement,
Ok.Pas de soucis, tes explications sont très claires, je vais tester.
Merci de ton aide.
Jacques
Cyril P. a écrit :
bonjour,
Si sKey est la clé d'un des noeuds de premier niveau dans ton arbre alors
treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName) va fonctionner. Par contre,
si c'est la clé d'un sous-noeud, c'est à dire d'un noeud de second niveau, tu
dois y accéder en respectant ta hierarchie de noeuds. Tu dois donc connaitre
la clé du noeud de premier niveau (et par conséquent l'ensmeble du chemin
d'accès) pour ajouter un sous-noeud. Exemple avec l'ajout d'un noeud de
troisieme niveau :
treeview.Nodes(sKey1).Nodes(sKey2).Nodes.Add(sNewKey, sNewName).
Il est donc necessaire de connaître ton arborescence et de retrouver le
chemin tout seul pour ajouter un noeud de cette manière, ou de se servir des
fonctions de recherche du treeview pour retrouver le noeud cible de l'ajout
(bon, moi aussi j'éspère être clair, c'est pas évident à éxpliquer hein :)).
Ok.Pas de soucis, tes explications sont très claires, je vais tester. Merci de ton aide.
Jacques
Cyril P. a écrit :
bonjour,
Si sKey est la clé d'un des noeuds de premier niveau dans ton arbre alors treeview.Nodes(sKey).Nodes.Add(sNewKey, sNewName) va fonctionner. Par contre, si c'est la clé d'un sous-noeud, c'est à dire d'un noeud de second niveau, tu dois y accéder en respectant ta hierarchie de noeuds. Tu dois donc connaitre la clé du noeud de premier niveau (et par conséquent l'ensmeble du chemin d'accès) pour ajouter un sous-noeud. Exemple avec l'ajout d'un noeud de troisieme niveau : treeview.Nodes(sKey1).Nodes(sKey2).Nodes.Add(sNewKey, sNewName). Il est donc necessaire de connaître ton arborescence et de retrouver le chemin tout seul pour ajouter un noeud de cette manière, ou de se servir des fonctions de recherche du treeview pour retrouver le noeud cible de l'ajout (bon, moi aussi j'éspère être clair, c'est pas évident à éxpliquer hein :)).