Autor Beitrag
maze2k
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: Mo 16.02.04 11:12 
Hi, habe folgendes Problem:
ich habe ein TreeView mit verschiedenen Einträgen und Untereinträgen...
ich will jetzt per klick auf einen Button einen markierten Eintrag nach oben oder nach unten verschieben...

Nach oben ist kein Problem mit:

ausblenden Delphi-Quelltext
1:
Tree.Selected.MoveTo(Tree.Selected.GetPrev, naInsert);					


um den Eintrag nach unten zu schieben, dachte ich, ich nehme einfach:

ausblenden Delphi-Quelltext
1:
Tree.Selected.MoveTo(Tree.Selected.GetNext, naInsert);					


Das geht aber komischer Weise nicht...

Weiss jemand von euch Rat?

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)


Zuletzt bearbeitet von maze2k am Mo 16.02.04 11:24, insgesamt 1-mal bearbeitet
maze2k Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: Mo 16.02.04 11:19 
Hab auch schon was hier im Forum gefunden:

ausblenden Delphi-Quelltext
1:
2:
node1:=treeview1.items[treeview1.selected.absoluteindex-1]; 
  treeview1.items[treeview1.selected.absoluteindex].moveto(node1,naInsert);


Funktioniert aber auch nur nach oben, wenn ich

ausblenden Delphi-Quelltext
1:
2:
node1:=treeview1.items[treeview1.selected.absoluteindex+1]; 
  treeview1.items[treeview1.selected.absoluteindex].moveto(node1,naInsert);


probier, gehts wieder nicht... :-/

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)
maze2k Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: Di 16.03.04 13:52 
Hat denn keiner eine Antwort?
Das muss doch irgendwie gehen!

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 16.03.04 14:27 
*puh* Ich habe mal fix was rausgesucht, ist aber nur ein Fragment, und es werden nur Knoten der gleichen Ebene verschoben. Soll heißen: bei folgendem Baum:
ausblenden Quelltext
1:
2:
3:
4:
[-] Parent
    [ ] Child1
    [ ] Child2
    [ ] Child3

könntest du nur die Child*-Knoten verschieben, und die würden auch immer unterhalb von Parent bleiben. Wenn ich die Knoten richtig durcheinander bringen wollte (;)), dann habe ich das sowieso mit Drag-Drop gemacht. War einfacher und ging schneller. :mrgreen:

1. Nach oben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
const
  InsertAction : array[boolean]of TNodeAttachMode = (naInsert,naAddFirst);
begin
  with tv1 do
    if(Items.Count > 0) and (Selected <> nil) then begin
      Selected.MoveTo(Selected.GetPrevSibling,
        InsertAction[Selected.GetPrevSibling=nil]);
    end;
end;


2. Nach unten:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
const
  InsertAction : array[boolean]of TNodeAttachMode = (naInsert,naAdd);
begin
  with tv1 do
    if(Items.Count > 0) and (Selected <> nil) then begin
      Selected.MoveTo(Selected.getNextSibling.getNextSibling,
        InsertAction[Selected.getNextSibling.getNextSibling=nil]);
    end;
end;

Musst mal schauen ob dir das irgendwie weiterhilft.
maze2k Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 252

WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
BeitragVerfasst: Mi 24.03.04 09:28 
Hmm,
das sieht ja schon mal ganz gut aus, werde es ausprobieren.

Danke :)

_________________
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)