begin process at 2012 02 12 17:01:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Déplacement "Tout en bas" d'une branche dans un Treeview !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Déplacement "Tout en bas" d'une branche dans un Treeview !

lundi 6 mars 2006 à 15:43:18 | Déplacement "Tout en bas" d'une branche dans un Treeview !

ZeMoskito

Bonjour à tous !

Je vous présente rapidement mon problème...

J'ai un joli petit Treeview et je souhaiterais pouvoir gérer ses noeuds avec des boutons (PAS de Drag & drop).

Les fonctionnalités que je cherche à introduire sont:

   - déplacer un noeud "Tout en haut" de sa branche => c'est fait !
   - déplacer un noeud "Tout en bas" de sa branche" => Je cherche encore !
   - déplacer un noeud d'un noeud vers le haut => Je cherche encore !
   - déplacer un noeud d'un noeud vers le bas => Je cherche encore !

Donc voilà mon problème !

Pour celui auquel j'ai répondu j'ai utilisé la méthode de "réaffecter" au père le noeud en question (celà induit un repositionnement du noeud juste en dessous de son père). Et je voulais savoir si il existait des méthodes similaires, ou tout du moins "simple" pour arriver à répondre aux autres problèmes ??

Sinon je vois bien des solutions du type: Je crée un Noeud temp pour stocker le Noeud que je veux déplacer, puis je supprime ce noeud, je décale tout les noeuds "en dessous" d'un cran vers le haut, puis je colle mon Noeud temp... mais je trouve ça trés lourd pour un si simple déplacement...

SVP dites moi qu'il existe une méthode plus simple ;)

Merci de votre aide !!
Halala la prog, PES, l'infographie... heuresement que ma femme est moins jalouse que mon PC ;).
lundi 6 mars 2006 à 16:01:48 | Re : Déplacement "Tout en bas" d'une branche dans un Treeview !

Dalida

Membre Club
salut,

à mon avis il faut enlever le Node de la collection du TreeView pour pouvoir ensuite l'insérer à l'endroit voulu. tout ça dans une seule méthode avec une énumération pour la position souhaitée.

Friend Enum NodeMoving
    FirstPosition
    PreviousPosition
    NextPosition
    LastPosition
End Enum

Dim nodToMove As TreeNode = Nothing ' à affecter
Dim pos As NodeMoving = NodeMoving.FirstPosition ' à déterminer
Dim index As Integer = nodToMove.Index

Select Case pos

    Case NodeMoving.FirstPosition
        index = 0

    Case NodeMoving.LastPosition
        index = CInt(nodToMove.Parent.Nodes.Count - 1)

    Case NodeMoving.PreviousPosition
        index -= 1

    Case NodeMoving.NextPosition
        index += 1

End Select

TreeView.Nodes.Remove(nodToMove)
TreeView.Nodes.Insert(index, nodToMove)

à tester...

[ Dalida ]
pensez à indiquer le langage utilisé et sa version !
lundi 6 mars 2006 à 16:08:22 | Re : Déplacement "Tout en bas" d'une branche dans un Treeview !

ZeMoskito

Oki doki, je vais tester ça tout de suite !

Merci pour cette réponse précise et rapide :)

Je reviens ici vous dire si ça marche !

Halala la prog, PES, l'infographie... heuresement que ma femme est moins jalouse que mon ordinateur.
lundi 6 mars 2006 à 16:12:48 | Re : Déplacement "Tout en bas" d'une branche dans un Treeview !

ZeMoskito


Oups... je crois que j'ai oublié de préciser que j'étais en VB pur et pas .NET.

Du coup le Insert et autre joyeuseté n'éxiste pas si je ne m'abuse... une idée ??

Merci !



Halala la prog, cs, l'infographie... heuresement que ma femme est moins jalouse que mon ordinateur.
lundi 6 mars 2006 à 16:42:08 | Re : Déplacement "Tout en bas" d'une branche dans un Treeview !

ZeMoskito

J'ai essayé ça:

    Dim nParentNode As Node
    Dim nNewSelectedNode As Node
   
    Dim sKey As String
    Dim sText As String
   
    sKey = nSelectedNode.key
    sText = nSelectedNode.text
   
    Set nParentNode = nSelectedNode.FirstSibling
   
    tvMyTreeview.Nodes.Remove (nSelectedNode.key)

    Set nNewSelectedNode = tvMyTreeview.Nodes.Add(nParentNode, tvwLast, tvMyTreeview.Nodes(nSelectedNode), sText)
 

Mais du coup, seul le noeud est trasnféré en bas de la liste, il perd ses enfants au passage... il doit vraiment y avoir une astuce mais j'avoue qu'elle m'échappe...
Une idée ??




Halala la prog, PES, l'infographie... heuresement que ma femme est moins jalouse que mon ordinateur.

lundi 6 mars 2006 à 23:37:45 | Re : Déplacement "Tout en bas" d'une branche dans un Treeview !

asecher

Moi, tu sais, les histoires de noeuds, chacun les siens....
Mais je pense qu'il faut chercher à "swapper" le node vis-a-vis de son conteneur (le parent) et éviter de supprimer; Je n'ai pas VB sous la main mais dès que j'ai, je teste et te réponds; Mais je pense que tu aura trouvé entretemps.

A+

Alain 31
mardi 7 mars 2006 à 09:40:23 | Re : Déplacement "Tout en bas" d'une branche dans un Treeview !

ZeMoskito

Quand tu parles de swapper... c'est mettre de coté le Noeud sans le supprimer c'est ça ?? mais outre l efait que je ne sais pas comment faire ;) ) dans ce cas ne risque-je pas de perdre les fils du noeud ?? Ou alors il faut "swapper" toute la famille ?

Bref, je pense cerner ton idée mais j'ai encore quelques lacunes en VB (je rappelle que ce n'est PAS du .Net) donc ton aide sera la bienvenue quand tu auras le temps :)

Merci encore !

Halala la prog, cs, l'infographie... heuresement que ma femme est moins jalouse que mon ordinateur.
mardi 7 mars 2006 à 14:26:44 | Re : Déplacement "Tout en bas" d'une branche dans un Treeview !

ZeMoskito

Réponse acceptée !
Bon c'est bon j'ai trouvé... enfin j'ai bidouillé (copie > déplacement>fils change de père>suppression vieux père...) et ça marche c'est l'essentiel :)

La mise à jour de mon arbre est un peu longuette (notamment pour le déplacement des noeuds racines) mais le résultat obtenu est correct et c'est l'essentiel !

Merci de ta proposition d'aide Alain !


Cette discussion est classée dans : cherche, déplacer, noeud, bas, branche


Répondre à ce message

Sujets en rapport avec ce message

macro excel [ par Nicool_le_veilleur ] Bonjour à tous,Je cherche à faire une macro pour "fixer" un bouton en bas de la feuille et qu'il reste toujours à la même position quand on scroll.Je Déplacer un noeud dans un TreeView [ par M51 ] Je suis surpris qu'il n'y ait pas de méthode simple pour déplacer un noeud dans un Treeview (je ne cherche pas  à avoir une explication sur le  Drag a déplacer nles nodes d'un treeview [ par metallifun ] Bonjour à tousJ'aimerais savoir comment peut on déplacer un noeud dans un treeviewcad changer son emplacement dans une branche ou carrement hausserou déplacer un noeud et ses enfants dans un treeview [ par globule ] Bonjour, Je suis à la recherche d'une procédure qui me permettrait de déplacer un noeud et ses enfants dans un treeview (vers le haut et vers le bas). Slectionner la cellule suivante [ par JPh007 ] Bonjour,Ma question va en faire rire plus d'un car je cherche un truc tout bête...J'aimerais trouver un code permettant de selectionner la cellule sit Label dans une userform avec texte variable [ par chrischrisfr ] Bonsoir,Je suis nouveau dans le monde de VB et je galère un peu.Je cherche à remplir un label dans une userform avec un texte qui est sur une autre fe Transparence partielle (fading) sous directX ? [ par Egalon ] Bonjour, je cherche, je cherche ... mais je ne trouve pas. Y a t il un moyen de réaliser une transparence partielle sous directX 7 (de préférence)? Ac Problème avec : Liste(Of [ par pingouin84k ] Bonjour,J'essaye de faire une sorte de mailleur.J'ai donc déclaré sous forme de structure "Noeud" chaque noeud dans le maillage. On trouve dans la str Atelier de développement vb6 [ par thipo ] Bonjour,Je suis complètement novice en vb et je cherche de l'information.Je cherche à interfacer un Activex et je n'ai que des démos vb5.Puis-je trouv


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales