Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


TreeView, byta plats på noder

Postades av 2004-01-22 16:47:38 - Jonas Stenman, i forum vb.net, Tråden har 5 Kommentarer och lästs av 726 personer

Har någon en smart lösning? Behöver byta position på intilliggande noder(siblings) med hjälp av Next - Previous knappar! Alltså, child1 ska få child2's text..och vise versa. Känns som enkelt, men får inte det till att släppa!!


Svara

Sv: TreeView, byta plats på noder

Postades av 2004-01-22 17:07:10 - Oskar Johansson

Gissar: För uppåt: Ta reda på den översta utav de som skall byta plats. Ta bort den undre och stoppa dit den på samma position som den övre.
För nedåt: Gör som för uppåt, fast kör den på den undre istället.


Svara

Sv: TreeView, byta plats på noder

Postades av 2004-01-22 17:27:04 - Olle Lindblom

Detta ska nog funka!

BAK
<code>
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim node, node2 As TreeNode
i = TreeView1.Nodes.IndexOf(TreeView1.SelectedNode)
If i > 0 Then
node = TreeView1.Nodes.Item(i).Clone()
node2 = TreeView1.Nodes.Item(i - 1).Clone()
TreeView1.Nodes.RemoveAt(i)
TreeView1.Nodes.RemoveAt(i - 1)
TreeView1.Nodes.Insert(i - 1, node)
TreeView1.Nodes.Insert(i, node2)
End If
End Sub
</code>

FRAM
<code>
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim i As Integer
Dim node, node2 As TreeNode
i = TreeView1.Nodes.IndexOf(TreeView1.SelectedNode)
If i < TreeView1.GetNodeCount(False) Then
node = TreeView1.Nodes.Item(i).Clone()
node2 = TreeView1.Nodes.Item(i + 1).Clone()
TreeView1.Nodes.RemoveAt(i + 1)
TreeView1.Nodes.RemoveAt(i)
TreeView1.Nodes.Insert(i, node2)
TreeView1.Nodes.Insert(i + 1, node)
End If
End Sub
</code>


Svara

Sv: TreeView, byta plats på noder

Postades av 2004-01-23 09:38:08 - Jonas Stenman

Tycker din lösning verkar bra och borde fungera, men får följande felmedd. " Specified argument was out of the range of valid values. " här:

node = TreeView1.Nodes.Item(i).Clone()

Kanske borde tillägga att det är endast noderna(leaf eller vad de nu kallas) på 4:de undernivån som ska kunna byta plats. Håller på med NodeCount och nodes.item för att komma till rätt nivå, men verkar svårt.

Tacksam för mer hjälp.
/Jonas


Svara

Sv: TreeView, byta plats på noder

Postades av 2004-01-23 10:50:23 - Johan Bovin

Jag vet inte riktigt vad du menar men om du bara vill flytta en nod upp eller ner kan du använda följande (skrivet i C#):
<code>
//flytta upp
private void cmdUp_Click(object sender, System.EventArgs e)
{
TreeNode node=treeView1.SelectedNode;
if(node!=null)
{
TreeNode parent=node.Parent;
if(parent!=null)
{
int pos=node.Index;
if(pos>0)
{
node.Remove();
parent.Nodes.Insert(pos-1,node);
treeView1.SelectedNode=node;
}
}
}
}
//flytta ner
private void cmdDown_Click(object sender, System.EventArgs e)
{
TreeNode node=treeView1.SelectedNode;
if(node!=null)
{
TreeNode parent=node.Parent;
if(parent!=null)
{
int pos=node.Index;
if(pos<parent.Nodes.Count-1)
{
node.Remove();
parent.Nodes.Insert(pos+1,node);
treeView1.SelectedNode=node;
}
}
}
}
</code>
För att kolla om noderna verkligen ligger på rätt nivå kan du ju använda propertyn Tag (där du kan stoppa in nåt värde), eller så får du helt enkelt parsa FullPath, för att kolla att det är rätt nivå. T.ex genom att räkna antalet /...


Svara

Sv: TreeView, byta plats på noder

Postades av 2004-01-23 11:27:06 - Jonas Stenman

Tack för hjälpen, nu fungerar det.
/Jonas


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 719
27 958
271 751
5 826
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies