Avatar billede beef12 Nybegynder
24. april 2006 - 13:19 Der er 5 kommentarer og
1 løsning

Treeview og omrokering af noder

Jeg har en treeView og i den ønsker jeg at tilføje DragAndDrop funktionalitet til at omrokere rækkefølgen af mine noder...

Jeg har fundet et hav af artikler som beskriver hvordan man flytter noder således at de bliver børn af de noder de bliver "droppet" ned på. Men jeg vil blot gerne have at de skifter position...
Avatar billede beef12 Nybegynder
24. april 2006 - 14:47 #1
Måske hjælper nedenstående:

private void treeView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
        {
            TreeNode NewNode;

            if(e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
            {
                Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
                TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
                NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
                if(DestinationNode.TreeView != NewNode.TreeView)
                {
                    DestinationNode.Nodes.Add((TreeNode) NewNode.Clone());
                    DestinationNode.Expand();
                    //Remove Original Node
                    NewNode.Remove();
                }
            }
        }


Denne kodestump flytter en node, men laver den til en "child" af den node som man "dropper" på. Jeg vil blot have den til at ligge under denne node (på samme niveau)
Avatar billede Syska Mester
24. april 2006 - 17:24 #2
DestinationNode.Nodes.Add((TreeNode) NewNode.Clone());
til....
DestinationNode.Parent.Nodes.Add((TreeNode) NewNode.Clone());

Men så skal du jo være sikker på at der er en parent på den du dropper på.....

// ouT
Avatar billede beef12 Nybegynder
24. april 2006 - 18:05 #3
Den går vel ikke?
For det er netop ikke på parent'en jeg dropper den ned på.

vil gerne have noget i stil med:

-parent1
  -child1
  -child2
  -child3

Så dragger jeg child3 overnpå child1, så jeg får følgende:

-parent1
  -child1
  -child3
  -child2

Giver det mening?
Jeg prøver lige det du sagde, det kunne jo være at du har ret...
Avatar billede beef12 Nybegynder
24. april 2006 - 18:53 #4
Det virkede ikke :-(
Avatar billede beef12 Nybegynder
25. april 2006 - 11:07 #5
Man skal anvende Insert - det løste problemet.
Avatar billede Syska Mester
25. april 2006 - 13:18 #6
ahh, men tæt på, men er da glad for at du fik løst dit lille problem...

// ouT
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester