OVH Cloud OVH Cloud

Supprimer au chargement de la form les 'Nodes' vide.

6 réponses
Avatar
Blaster
Bonjour,

Je voudrais s'avoir comment je pourrais supprimer les Nodes qui n'ont aucun
texte au chargement de la Form. J'ai essailler avec TreeView1.Nodes.Remove()
mais sa n'a rien donner, je l'utilise surement mal ^^.

Merci d'avance.

6 réponses

Avatar
Mathieu Francesch
Bonjour Blaster,

Je vous ai créé une procédure qui recherche les nodes qui n'ont aucun texte
et les supprime.

La question est : Que fait-on des nodes ne comportant pas de texte et qui
ont des enfants ? Ne sachant pas quoi en faire, cette procédure les supprime
;-)


##################################################
Private Sub Nettoyage(ByVal nodes As TreeNodeCollection)
Dim n As TreeNode = Nothing
For Each n In nodes
If n.Text.Equals("") Then
n.Remove()
End If
If (n.Nodes.Count > 0) Then
Me.Nettoyage(n.Nodes)
End If
Next
End Sub
##################################################

J'espère que cela répond à votre question,

--
Cordialement,

Mathieu Francesch



"Blaster" a écrit :

Bonjour,

Je voudrais s'avoir comment je pourrais supprimer les Nodes qui n'ont aucun
texte au chargement de la Form. J'ai essailler avec TreeView1.Nodes.Remove()
mais sa n'a rien donner, je l'utilise surement mal ^^.

Merci d'avance.


Avatar
Blaster
Merci d'avoir répondu aussi vite !

J'ai copier votre procédure après Form1_Load, mais sa ne change rien...
Dois-je la placer autrepart ? Si oui ou ca ?

Merci.

Cordialement,
Olivier

"Mathieu Francesch" wrote:

Bonjour Blaster,

Je vous ai créé une procédure qui recherche les nodes qui n'ont aucun texte
et les supprime.

La question est : Que fait-on des nodes ne comportant pas de texte et qui
ont des enfants ? Ne sachant pas quoi en faire, cette procédure les supprime
;-)


##################################################
Private Sub Nettoyage(ByVal nodes As TreeNodeCollection)
Dim n As TreeNode = Nothing
For Each n In nodes
If n.Text.Equals("") Then
n.Remove()
End If
If (n.Nodes.Count > 0) Then
Me.Nettoyage(n.Nodes)
End If
Next
End Sub
##################################################

J'espère que cela répond à votre question,

--
Cordialement,

Mathieu Francesch



"Blaster" a écrit :

> Bonjour,
>
> Je voudrais s'avoir comment je pourrais supprimer les Nodes qui n'ont aucun
> texte au chargement de la Form. J'ai essailler avec TreeView1.Nodes.Remove()
> mais sa n'a rien donner, je l'utilise surement mal ^^.
>
> Merci d'avance.


Avatar
Mathieu Francesch
Re bonjour,

J'ai testé cette procédure de la manière suivante :

dans Form1_Load

Nettoyage(TreeView1.Nodes)

Cela fonctionne mais est ce qu'en lisant cette procédure vous avez
l'impression qu'elle répond à vos attentes ?



--
Cordialement,

Mathieu Francesch



"Blaster" a écrit :

Merci d'avoir répondu aussi vite !

J'ai copier votre procédure après Form1_Load, mais sa ne change rien...
Dois-je la placer autrepart ? Si oui ou ca ?

Merci.

Cordialement,
Olivier

"Mathieu Francesch" wrote:

> Bonjour Blaster,
>
> Je vous ai créé une procédure qui recherche les nodes qui n'ont aucun texte
> et les supprime.
>
> La question est : Que fait-on des nodes ne comportant pas de texte et qui
> ont des enfants ? Ne sachant pas quoi en faire, cette procédure les supprime
> ;-)
>
>
> ##################################################
> Private Sub Nettoyage(ByVal nodes As TreeNodeCollection)
> Dim n As TreeNode = Nothing
> For Each n In nodes
> If n.Text.Equals("") Then
> n.Remove()
> End If
> If (n.Nodes.Count > 0) Then
> Me.Nettoyage(n.Nodes)
> End If
> Next
> End Sub
> ##################################################
>
> J'espère que cela répond à votre question,
>
> --
> Cordialement,
>
> Mathieu Francesch
>
>
>
> "Blaster" a écrit :
>
> > Bonjour,
> >
> > Je voudrais s'avoir comment je pourrais supprimer les Nodes qui n'ont aucun
> > texte au chargement de la Form. J'ai essailler avec TreeView1.Nodes.Remove()
> > mais sa n'a rien donner, je l'utilise surement mal ^^.
> >
> > Merci d'avance.


Avatar
Blaster
Re bonjour,

Oui c'est justement ce que je chairchais ;-) !

Je c'est pas pourquoi mais malgré que j'ai placer Nettoyage(TreeView1.Nodes)
dans Form1_Load dès que je lance le programme, j'ai toujours une Nodes qui
est vide...

"Blaster" wrote:

Merci d'avoir répondu aussi vite !

J'ai copier votre procédure après Form1_Load, mais sa ne change rien...
Dois-je la placer autrepart ? Si oui ou ca ?

Merci.

Cordialement,
Olivier

"Mathieu Francesch" wrote:

> Bonjour Blaster,
>
> Je vous ai créé une procédure qui recherche les nodes qui n'ont aucun texte
> et les supprime.
>
> La question est : Que fait-on des nodes ne comportant pas de texte et qui
> ont des enfants ? Ne sachant pas quoi en faire, cette procédure les supprime
> ;-)
>
>
> ##################################################
> Private Sub Nettoyage(ByVal nodes As TreeNodeCollection)
> Dim n As TreeNode = Nothing
> For Each n In nodes
> If n.Text.Equals("") Then
> n.Remove()
> End If
> If (n.Nodes.Count > 0) Then
> Me.Nettoyage(n.Nodes)
> End If
> Next
> End Sub
> ##################################################
>
> J'espère que cela répond à votre question,
>
> --
> Cordialement,
>
> Mathieu Francesch
>
>
>
> "Blaster" a écrit :
>
> > Bonjour,
> >
> > Je voudrais s'avoir comment je pourrais supprimer les Nodes qui n'ont aucun
> > texte au chargement de la Form. J'ai essailler avec TreeView1.Nodes.Remove()
> > mais sa n'a rien donner, je l'utilise surement mal ^^.
> >
> > Merci d'avance.


Avatar
Blaster
Désoler quelque seconde apres avoir envoyer mon 3ème message j'ai trouver le
problème ;) merci beaucoup de votre aide ! Sa fonctionne super !

Cordialement,
Olivier

"Blaster" wrote:

Merci d'avoir répondu aussi vite !

J'ai copier votre procédure après Form1_Load, mais sa ne change rien...
Dois-je la placer autrepart ? Si oui ou ca ?

Merci.

Cordialement,
Olivier

"Mathieu Francesch" wrote:

> Bonjour Blaster,
>
> Je vous ai créé une procédure qui recherche les nodes qui n'ont aucun texte
> et les supprime.
>
> La question est : Que fait-on des nodes ne comportant pas de texte et qui
> ont des enfants ? Ne sachant pas quoi en faire, cette procédure les supprime
> ;-)
>
>
> ##################################################
> Private Sub Nettoyage(ByVal nodes As TreeNodeCollection)
> Dim n As TreeNode = Nothing
> For Each n In nodes
> If n.Text.Equals("") Then
> n.Remove()
> End If
> If (n.Nodes.Count > 0) Then
> Me.Nettoyage(n.Nodes)
> End If
> Next
> End Sub
> ##################################################
>
> J'espère que cela répond à votre question,
>
> --
> Cordialement,
>
> Mathieu Francesch
>
>
>
> "Blaster" a écrit :
>
> > Bonjour,
> >
> > Je voudrais s'avoir comment je pourrais supprimer les Nodes qui n'ont aucun
> > texte au chargement de la Form. J'ai essailler avec TreeView1.Nodes.Remove()
> > mais sa n'a rien donner, je l'utilise surement mal ^^.
> >
> > Merci d'avance.


Avatar
Mathieu Francesch
Re,


Quand et comment est créé votre arbre ? Je vous pose cette question car je
pense qu'il est préférable de tester s'il y a un texte à la création de la
node ce qui éviterait de chercher à la supprimer par la suite. D'autre part
si jamais il y a des espaces dans le texte de la node, la procédure nettoyage
ne fonctionnera pas.
Dans ce cas, je vous invite à remplacer n.Text.Equals("") par
n.Text.Trim.Equals("") cela permettra de supprimer les espaces s'il y en a.

Me voilà à court d'idée ... ;-)

Vous pouvez toujours m'envoyer votre code à mon adresse afin
que je puisse voir de plus près là où il pourrait y avoir une erreur.

Bonne soirée

--
Cordialement,

Mathieu Francesch



"Blaster" a écrit :

Re bonjour,

Oui c'est justement ce que je chairchais ;-) !

Je c'est pas pourquoi mais malgré que j'ai placer Nettoyage(TreeView1.Nodes)
dans Form1_Load dès que je lance le programme, j'ai toujours une Nodes qui
est vide...

"Blaster" wrote:

> Merci d'avoir répondu aussi vite !
>
> J'ai copier votre procédure après Form1_Load, mais sa ne change rien...
> Dois-je la placer autrepart ? Si oui ou ca ?
>
> Merci.
>
> Cordialement,
> Olivier
>
> "Mathieu Francesch" wrote:
>
> > Bonjour Blaster,
> >
> > Je vous ai créé une procédure qui recherche les nodes qui n'ont aucun texte
> > et les supprime.
> >
> > La question est : Que fait-on des nodes ne comportant pas de texte et qui
> > ont des enfants ? Ne sachant pas quoi en faire, cette procédure les supprime
> > ;-)
> >
> >
> > ##################################################
> > Private Sub Nettoyage(ByVal nodes As TreeNodeCollection)
> > Dim n As TreeNode = Nothing
> > For Each n In nodes
> > If n.Text.Equals("") Then
> > n.Remove()
> > End If
> > If (n.Nodes.Count > 0) Then
> > Me.Nettoyage(n.Nodes)
> > End If
> > Next
> > End Sub
> > ##################################################
> >
> > J'espère que cela répond à votre question,
> >
> > --
> > Cordialement,
> >
> > Mathieu Francesch
> >
> >
> >
> > "Blaster" a écrit :
> >
> > > Bonjour,
> > >
> > > Je voudrais s'avoir comment je pourrais supprimer les Nodes qui n'ont aucun
> > > texte au chargement de la Form. J'ai essailler avec TreeView1.Nodes.Remove()
> > > mais sa n'a rien donner, je l'utilise surement mal ^^.
> > >
> > > Merci d'avance.